diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..8555289 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,52 @@ +name: Deploy + +on: + push: + branches: [master] + +permissions: + contents: write + +concurrency: + group: gh-pages + cancel-in-progress: false + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: astral-sh/setup-uv@v7 + with: + python-version: "3.13" + + - name: Build + run: | + uv sync --frozen + uv run mkdocs build --strict + + - name: Publicar em gh-pages (raiz) + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + set -e + REPO_URL="https://x-access-token:${GH_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" + if git ls-remote --exit-code --heads origin gh-pages; then + git clone --depth 1 --branch gh-pages "$REPO_URL" gh-pages + else + mkdir gh-pages + git -C gh-pages init -b gh-pages + fi + # apaga conteúdo antigo da raiz, preservando os diretórios de preview (pr-*) + rsync -a --delete --exclude '/pr-*' --exclude '.git' site/ gh-pages/ + cd gh-pages + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + git add -A + if git diff --cached --quiet; then + echo "Nenhuma mudança para publicar." + else + git commit -m "Deploy de ${GITHUB_SHA::7}" + git push "$REPO_URL" HEAD:gh-pages + fi diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml new file mode 100644 index 0000000..59d5894 --- /dev/null +++ b/.github/workflows/preview.yml @@ -0,0 +1,128 @@ +name: Preview de PR + +# Dois triggers de propósito: +# - pull_request: roda o workflow da branch da PR; usado para PRs do MESMO +# repositório (token com escrita). É o que permite preview em PRs que ainda +# não têm este arquivo na master. +# - pull_request_target: roda o workflow da master; usado para PRs de FORKS +# (o token de pull_request em fork é somente-leitura e não conseguiria +# publicar o preview). +# As condições nos jobs garantem que apenas um dos dois executa por evento. +on: + pull_request: + types: [opened, synchronize, reopened, closed] + pull_request_target: + types: [opened, synchronize, reopened, closed] + +permissions: + contents: write + pull-requests: write + +concurrency: + group: pr-preview-${{ github.event_name }}-${{ github.event.pull_request.number }} + cancel-in-progress: true + +env: + PR: ${{ github.event.pull_request.number }} + PREVIEW_URL: https://manual.pythonbrasil.org.br/pr-${{ github.event.pull_request.number }}/ + +jobs: + publicar: + if: > + github.event.action != 'closed' && ( + (github.event_name == 'pull_request' && + github.event.pull_request.head.repo.full_name == github.repository) || + (github.event_name == 'pull_request_target' && + github.event.pull_request.head.repo.full_name != github.repository) + ) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.head.sha }} + + - uses: astral-sh/setup-uv@v7 + with: + python-version: "3.13" + + - name: Build + env: + SITE_URL: ${{ env.PREVIEW_URL }} + run: | + uv sync --frozen + uv run mkdocs build + + - name: Publicar em gh-pages/pr-$PR + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + set -e + REPO_URL="https://x-access-token:${GH_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" + if git ls-remote --exit-code --heads origin gh-pages; then + git clone --depth 1 --branch gh-pages "$REPO_URL" gh-pages + else + mkdir gh-pages + git -C gh-pages init -b gh-pages + fi + rsync -a --delete site/ "gh-pages/pr-${PR}/" + cd gh-pages + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + git add -A + if git diff --cached --quiet; then + echo "Nenhuma mudança no preview." + else + git commit -m "Preview da PR #${PR}" + git push "$REPO_URL" HEAD:gh-pages + fi + + - name: Comentar na PR com o link do preview + uses: actions/github-script@v7 + with: + script: | + const marker = "Preview da documentação"; + const body = [ + `📖 **${marker}**: ${process.env.PREVIEW_URL}`, + ``, + `Atualizado a cada push nesta PR (commit ${context.sha.substring(0, 7)}).`, + ].join("\n"); + const { owner, repo } = context.repo; + const issue_number = context.payload.pull_request.number; + const comments = await github.paginate(github.rest.issues.listComments, { owner, repo, issue_number }); + const existing = comments.find((c) => c.body?.includes(marker)); + if (existing) { + await github.rest.issues.updateComment({ owner, repo, comment_id: existing.id, body }); + } else { + await github.rest.issues.createComment({ owner, repo, issue_number, body }); + } + + limpar: + if: > + github.event.action == 'closed' && ( + (github.event_name == 'pull_request' && + github.event.pull_request.head.repo.full_name == github.repository) || + (github.event_name == 'pull_request_target' && + github.event.pull_request.head.repo.full_name != github.repository) + ) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Remover preview de gh-pages/pr-$PR + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + set -e + git ls-remote --exit-code --heads origin gh-pages || exit 0 + REPO_URL="https://x-access-token:${GH_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" + git clone --depth 1 --branch gh-pages "$REPO_URL" gh-pages + cd gh-pages + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + git rm -r --ignore-unmatch "pr-${PR}" + if git diff --cached --quiet; then + echo "Nada para remover." + else + git commit -m "Remove preview da PR #${PR}" + git push "$REPO_URL" HEAD:gh-pages + fi diff --git a/.gitignore b/.gitignore index 567609b..45ddf0a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -build/ +site/ diff --git a/.python-version b/.python-version new file mode 100644 index 0000000..24ee5b1 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.13 diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 97af3c7..4717c7c 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -1,10 +1,14 @@ version: 2 + build: - os: "ubuntu-20.04" + os: "ubuntu-24.04" tools: - python: "3.10" + python: "3.13" jobs: + post_create_environment: + - pip install uv post_install: - - pip install poetry - - poetry export --format requirements.txt --without-hashes > requirements.txt - - pip install -r requirements.txt + - VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH uv sync --frozen + +mkdocs: + configuration: mkdocs.yml diff --git a/Makefile b/Makefile index 6420ee7..519e8a6 100644 --- a/Makefile +++ b/Makefile @@ -1,26 +1,18 @@ -# Minimal makefile for Sphinx documentation +# Minimal makefile for MkDocs documentation # -# You can set these variables from the command line, and also -# from the environment for the first two. -SPHINXOPTS ?= -SPHINXBUILD ?= sphinx-build -SOURCEDIR = source -BUILDDIR = build +MKDOCS ?= uv run mkdocs # Put it first so that "make" without argument is like "make help". help: - $(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + @echo "Uso:" + @echo " make live - servidor local com recarga automática (http://localhost:8000)" + @echo " make deploy - gera o site estático em ./site" -.PHONY: help Makefile +.PHONY: help live deploy live: - sphinx-autobuild "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + $(MKDOCS) serve --dev-addr 0.0.0.0:8000 deploy: - @$(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) - -# Catch-all target: route all unknown targets to Sphinx using the new -# "make mode" option. $(O) is meant as a shortcut for$(SPHINXOPTS). -%: Makefile - $(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + $(MKDOCS) build diff --git a/README.md b/README.md index 897662b..0d080b8 100644 --- a/README.md +++ b/README.md @@ -10,10 +10,9 @@ O manual está disponível online em [manual.pythonbrasil.org.br](https://manual ### Tecnologias utilizadas - Python -- [Sphinx](http://sphinx.pocoo.org) -- Myst-parser -- [Poetry](https://python-poetry.org/docs/) - > Caso você utilize uma distribuição Linux, talvez você precise tratar um erro conhecido seguindo [essa orientação](https://github.com/python-poetry/poetry/issues/5241#issuecomment-1063513340). +- [MkDocs](https://www.mkdocs.org/) +- [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/) +- [uv](https://docs.astral.sh/uv/) ### Instalação @@ -28,15 +27,15 @@ O manual está disponível online em [manual.pythonbrasil.org.br](https://manual ``` 4. Instale as dependencias: ``` - poetry install + uv sync ``` 5. Gere a documentação: ``` - poetry run make live + make live ``` ### Visualize o manual 1. No seu navegador, abra o link http://localhost:8000. ### Atualização e Complementação de conteúdo -A cada nova Python Brasil este manual deve ser atualizado pela organização da PyBR com as informações referentes ao evento, seguindo as instruções do [Guia de Atualização do Manual](/CONTRIBUTING.md). +A cada nova Python Brasil este manual deve ser atualizado pela organização da PyBR com as informações referentes ao evento, seguindo as instruções do [Guia de Atualização do Manual](/docs/CONTRIBUTING.md). diff --git a/build/README.txt b/build/README.txt deleted file mode 100644 index 8d1d542..0000000 --- a/build/README.txt +++ /dev/null @@ -1 +0,0 @@ -nothing to see here \ No newline at end of file diff --git a/docs/CNAME b/docs/CNAME new file mode 100644 index 0000000..cb5df65 --- /dev/null +++ b/docs/CNAME @@ -0,0 +1 @@ +manual.pythonbrasil.org.br diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md new file mode 100644 index 0000000..fa89403 --- /dev/null +++ b/docs/CONTRIBUTING.md @@ -0,0 +1,41 @@ +# Guia de Atualização do Manual + +Este guia orienta sobre a inserção de novos conteúdos no Manual da Big Kahuna do ponto de vista de padronização de dados e informações, bem como da formatação utilizada para o conteúdo. + +**Sumário** + +## Inserindo dados da Python Brasil +Para inserir os dados do evento que você acaba de realizar, você deve criar um arquivo dentro da pasta `docs/historia` com as seguintes características: + +- Formato: Markdown; +- Título: `pythonbrasil[número da edição]` +- Conteúdo: + +``` +# Python Brasil [ANO DE REALIZAÇÃO DO EVENTO] + +[Em construção ...] +``` + +Em seguida, registre a nova página nos dois lugares onde a navegação é montada: + +1. No `mkdocs.yml` (raiz do repositório), dentro da seção `História da Python Brasil` do `nav`: + + ```yaml + - Python Brasil [ANO]: historia/pythonbrasil[número da edição].md + ``` + +2. Na lista em `docs/historia/index.md`, mantendo a ordem cronológica: + + ```markdown + * [Python Brasil [ANO]](pythonbrasil[número da edição].md) + ``` + +## Trechos reutilizáveis de orientações + +Dicas que se aplicam a mais de uma escala de evento ficam centralizadas em +`docs/orientacoes-gerais.md` (arquivo não publicado no site). Para adicionar ou +alterar uma dica geral, edite a seção correspondente nesse arquivo; as páginas +`orientacoes.md` dos eventos regionais e da Python Brasil incluem os trechos +via snippets e são atualizadas automaticamente. Veja as instruções no próprio +arquivo central. diff --git a/docs/escalas/index.md b/docs/escalas/index.md new file mode 100644 index 0000000..7e0fdbf --- /dev/null +++ b/docs/escalas/index.md @@ -0,0 +1,72 @@ +# Escalas de Eventos Python + +Nem toda comunidade começa organizando uma Python Brasil. Existem diferentes escalas de eventos, cada uma com seus desafios e aprendizados. Este guia vai te ajudar a identificar em qual estágio sua comunidade está e qual caminho seguir. + +## Checklist: Qual o próximo passo da sua comunidade? + +Responda as perguntas abaixo para descobrir qual guia é mais adequado para o momento da sua comunidade: + +### 1. Sua comunidade já realiza encontros presenciais ou online regularmente? + +- [ ] **Não, estamos começando do zero** --> Siga para o [guia de meetups](meetups/index.md) +- [ ] **Sim, fazemos meetups mensais ou bimestrais** --> Siga para a pergunta 2 + +### 2. Quantas pessoas participam dos seus encontros regularmente? + +- [ ] **Menos de 30 pessoas** --> Continue fortalecendo os meetups - [guia de meetups](meetups/index.md) +- [ ] **Entre 30 e 100 pessoas** --> Siga para a pergunta 3 +- [ ] **Mais de 100 pessoas** --> Considere um evento regional - [guia de eventos regionais](regionais/index.md) + +### 3. Sua comunidade já organizou algum evento com mais de 100 participantes? + +- [ ] **Não, mas queremos tentar** --> Siga para o [guia de eventos regionais](regionais/index.md) +- [ ] **Sim, e queremos crescer mais** --> Considere candidatar-se para uma [Python Brasil](nacional/index.md) + +### 4. Sua comunidade abrange apenas uma cidade ou já tem alcance regional? + +- [ ] **Apenas uma cidade** --> Fortaleça os meetups e conexões regionais - [guia de meetups](meetups/index.md) +- [ ] **Já temos pessoas de várias cidades do estado/região** --> [guia de eventos regionais](regionais/index.md) + +--- + +## Visão Geral das Escalas + +| Característica | Meetup | Evento Regional | Python Brasil | +|----------------|--------|-----------------|---------------| +| **Público esperado** | 20-100 pessoas | 100-500 pessoas | 500-1500 pessoas | +| **Duração** | 2-4 horas | 2-4 dias | 4-6 dias | +| **Equipe necessária** | 2-5 pessoas | 5-10 pessoas | 20-30 pessoas | +| **Frequência** | Mensal/Bimestral | Anual | Anual | +| **Orçamento típico** | R$ 0-500 | R$ 50.000-100.000 | R$ 200.000-500.000+ | +| **Patrocínios** | Opcionais, locais | Necessários, regionais e nacionais | Essenciais, nacionais e internacionais | + +--- + +## Progressão Natural + +A maioria das comunidades segue uma progressão natural: + +``` +Meetups regulares + | + v +Evento de 1 dia (workshops + talks) + | + v +Evento regional (2-3 dias, múltiplas trilhas) + | + v +Python Brasil (evento nacional) +``` + +**Não tenha pressa.** Cada etapa tem seu valor e seus aprendizados. Uma comunidade que faz meetups consistentes e de qualidade é mais valiosa do que uma que tenta eventos grandes sem base. + +--- + +## Guias Disponíveis + +Cada guia é dividido em tópicos de acordo com o escopo do evento, como **Processo e Governança**, **Times e Organização**, **Orientações Gerais**, **Financeiro e Patrocínio** e **Marketing e Divulgação**. Alguns guias têm tópicos adicionais: os eventos regionais contam com **Ferramentas**, e a Python Brasil com **Proposta de Candidatura**. Os meetups, por serem menores, não possuem página de orientações. + +* [Guia de Meetups Python](meetups/index.md) +* [Guia de Eventos Regionais Python](regionais/index.md) +* [Organizando uma Python Brasil](nacional/index.md) diff --git a/docs/escalas/meetups/financeiro.md b/docs/escalas/meetups/financeiro.md new file mode 100644 index 0000000..56a73cd --- /dev/null +++ b/docs/escalas/meetups/financeiro.md @@ -0,0 +1,36 @@ +# Financeiro e Patrocínio + +## Custos típicos de um meetup + +| Item | Custo estimado | Observações | +|------|----------------|-------------| +| Local | R$ 0 - R$ 500 | Muitas empresas cedem gratuitamente | +| Coffee break | R$ 0 - R$ 300 | Participantes podem trazer algo, ou ratear | +| Adesivos/brindes | R$ 50 - R$ 200 | Opcional, mas fortalece comunidade | +| **Total** | **R$ 0 - R$ 1.000** | | + +## Como conseguir patrocínio para meetups + +1. **Empresas locais**: a primeira opção. Ofereça espaço para falar com a comunidade +2. **Rateio entre participantes**: para custos específicos (coffee, brindes) +3. **Parcerias com espaços**: empresas cedem espaço em troca de visibilidade +4. **Comunidade**: peça contribuições voluntárias via Pix ou vaquinha online + +## Dica importante + +**Não comece cobrando ingressos.** Meetups devem ser acessíveis. Se precisar de recursos, busque patrocínios ou rateie custos de forma transparente. + +## Modelos de proposta para empresas + +Para empresas, prepare uma proposta simples (1 página): + +- O que é a comunidade Python local +- Quantas pessoas participam dos meetups +- O que a empresa ganha (logo, fala, networking) +- Quanto custa (valor fixo ou cobertura de custos específicos) + +## Como negociar com a empresa + +- Propor agradecimentos iniciais e finais para a empresa. +- Colocar algum qr-code ou cartaz sobre as vagas disponíveis. +- Colocar uma janela para apresentação de alguém da empresa falar sobre a empresa. diff --git a/docs/escalas/meetups/governanca.md b/docs/escalas/meetups/governanca.md new file mode 100644 index 0000000..1c30f25 --- /dev/null +++ b/docs/escalas/meetups/governanca.md @@ -0,0 +1,80 @@ +# Processo e Governança + +## Começando do zero + +1. **Defina o tipo do evento**: os Meetups podem ser dojos, palestras, roda de conversa ou PyBar +2. **Encontre co-organizadores**: não faça sozinho. Procure 2-3 pessoas interessadas em Python na sua cidade +3. **Escolha um formato simples**: talks curtas (15-25 min) + networking é o formato mais comum +4. **Defina frequência**: mensal ou bimestral funciona bem. *Consistência é mais importante que frequência* +5. **Escolha um local**: empresas de tecnologia, universidades, coworkings costumam ceder espaço e costuma ser de interesse mútuo +6. **Use o Pretix da APyB ao invés do Meetup (plataforma)**: a plataforma do Meetup é cara, recomendados usar a infraestrutura da APyB que é gratuita, mas exige que o organizador seja associado da APyB + +## Relação com a APyB e uso da marca + +- Meetups Python são **independentes** da APyB, mas encorajados +- Use o nome "Python [Sua Cidade]" ou "PyTrends [Sua Cidade]" +- Para usar a marca Python em materiais oficiais, consulte as [diretrizes de marca da PSF](https://www.python.org/psf/trademarks/) - atenção à logo +- A APyB pode ajudar com divulgação nos canais oficiais (Telegram, listas de e-mail) + +## Estrutura básica de um meetup +Cada tipo de meetup tem sua dificuldade e formato, para iniciar, o ideal é tentar um formato simples, que seja fácil de organizar e de manter consistência. Abaixo estão alguns exemplos de cronogramas para cada tipo de evento. + +### Palestras +As palestras são o formato mais desafiador, pois exigem que os palestrantes preparem conteúdo e que o organizador consiga encontrar pessoas dispostas a falar. O ideal é ter 2 palestras de 20 minutos cada, com 5 minutos para perguntas, e 2-3 lightning talks de 5 minutos cada. + +``` +19:00 - Chegada e networking +19:30 - Talk 1 (20 min + 5 min perguntas) +20:00 - Talk 2 (20 min + 5 min perguntas) +20:30 - Lightning talks (5 min cada, 2-3 pessoas) +20:50 - Networking e encerramento +21:30 - Fim +``` + +### dojos +Os dojos são eventos de prática, onde os participantes resolvem problemas juntos. O ideal é ter um facilitador que guie o grupo e proponha desafios. Os desafios devem ser organizados antecipadamente e em níveis de dificuldade progressivos, para que TODOS possam participar. Os primeiros exercícios não devem exigir background de programação. O ideal é ter 1 hora de prática, com 5 minutos de apresentação do desafio e 5 minutos de encerramento. Normalmente, um dojo possui um piloto e um co-piloto, os dois discutem o problema em voz alta, enquanto o piloto escreve o código. De 5 em 5 minutos, o piloto deixa o teclado para o co-piloto, este virando o novo piloto, que continua a implementação e da lugar a outro co-piloto. O ideal é que o facilitador tenha um notebook com projetor, para que todos possam acompanhar a implementação. + +``` +19:00 - Chegada e networking +19:30 - Apresentação do dojo (5 min) +19:35 - Divisão em grupos e início do dojo (1h) +20:35 - Encerramento e networking +21:30 - Fim +``` + +### Roda de conversa +As rodas de conversa são eventos de discussão, onde os participantes compartilham experiências e aprendem uns com os outros. O ideal é ter um moderador que guie a conversa e proponha tópicos de discussão. A roda de conversa deve ser organizada antecipadamente, com tópicos relevantes para a comunidade. O ideal é ter 1 hora de discussão, com 5 minutos de apresentação do tema e 5 minutos de encerramento. + +``` +19:00 - Chegada e networking +19:30 - Apresentação do tema (5 min) +19:35 - Discussão em grupo (1h) +20:35 - Encerramento e networking +21:30 - Fim +``` + +### PyBar + +O PyBar é um evento social, sem palestras, apenas networking e troca de experiências. O ideal é que seja realizado em um bar ou café, com a comunidade se reunindo para conversar sobre Python e tecnologia. + +## Ferramentas essenciais + +- **Plataforma de inscrição**: Pretix da APyB +- **Divulgação**: Instagram, Telegram, LinkedIn +- **Comunicação**: Grupo no Telegram ou WhatsApp +- **Apresentações**: Compartilhar slides no GitHub ou Google Drive + +## Checklist: Primeiro Meetup + +- [ ] Encontrar 2-3 co-organizadores +- [ ] Definir data e horário +- [ ] Reservar local (se atentar à capacidade do local) +- [ ] Criar página de inscrição (Pretix da APyB) +- [ ] Divulgar nas redes sociais (Instagram, LinkedIn, Telegram) +- [ ] Confirmar 2 palestrantes +- [ ] Preparar apresentação de abertura (apresentar a comunidade) +- [ ] Definir como será o coffee break +- [ ] Criar grupo no Telegram/WhatsApp para participantes +- [ ] No dia: chegar 30 min antes, preparar o espaço +- [ ] No dia: tirar fotos (com autorização) +- [ ] Pós-evento: enviar agradecimentos e pesquisar próxima data diff --git a/docs/escalas/meetups/index.md b/docs/escalas/meetups/index.md new file mode 100644 index 0000000..7c869ac --- /dev/null +++ b/docs/escalas/meetups/index.md @@ -0,0 +1,34 @@ +# Guia de Meetups Python + +Meetups são o coração de qualquer comunidade Python. Encontros regulares criam vínculos, fortalecem a comunidade e formam a base para eventos maiores. Este guia te ajuda a começar e manter meetups consistentes. + +## Por que começar com meetups? + +- **Baixo risco**: custos mínimos, sem compromisso financeiro grande +- **Aprendizado rápido**: você descobre o que funciona para sua comunidade +- **Construção de rede**: conhece pessoas que podem te ajudar em eventos maiores +- **Base sólida**: uma comunidade ativa de meetups tem condições de organizar eventos regionais + +## Quando partir para um evento maior? + +Considere organizar um evento regional quando: + +- Você tem **encontros regulares há pelo menos 6 meses** +- A comunidade tem **mais de 20 pessoas ativas** +- Você tem uma **equipe de 5+ pessoas** dispostas a se dedicar +- Os organizadores participaram de outros eventos regionais, para terem referência de como é um evento regional + +Se ainda não chegou nesse ponto, **continue fortalecendo os meetups**. A base sólida é o que garante o sucesso de eventos maiores. + +## Recursos Úteis + +- [Recursos Gratuitos da Python Software Foundation](https://www.python.org/psf/grants/free-resources/) +- Comunidades de referência: Python SP, Python RJ, Python MG, Grupy-SP + +## Tópicos + +* [Processo e Governança](governanca.md) +* [Times e Organização](times.md) +* [Financeiro e Patrocínio](financeiro.md) +* [Marketing e Divulgação](marketing.md) + diff --git a/docs/escalas/meetups/marketing.md b/docs/escalas/meetups/marketing.md new file mode 100644 index 0000000..e3ebd73 --- /dev/null +++ b/docs/escalas/meetups/marketing.md @@ -0,0 +1,34 @@ +# Marketing e Divulgação + +## Canais essenciais + +1. **Pretix da APyB**: plataforma principal para inscrições +2. **Instagram**: divulgue palestrantes, bastidores, fotos dos eventos +3. **Telegram/WhatsApp**: grupo da comunidade para anúncios +4. **LinkedIn**: alcance profissional, compartilhe com empresas +5. **Listas da APyB**: se existir lista regional, use para divulgação - entrar em contato com a APyB + +## Estratégia de divulgação + +``` +2 semanas antes: Anúncio do evento + chamada para palestrantes +1 semana antes: Lembrete + divulgação dos palestrantes +3 dias antes: Lembrete final + detalhes do local +Dia do evento: Fotos em tempo real + agradecimentos +Pós-evento: Fotos, slides, agradecimentos, próxima data +``` + +## Como atrair palestrantes + +- **Call for papers informal**: abra inscrições para talks no grupo da comunidade +- **Convite direto**: convide pessoas que estão fazendo trabalhos interessantes +- **Lightning talks**: incentive talks curtas de 5 minutos para iniciantes +- **Tema livre**: aceite talks sobre qualquer área (web, data science, IA, etc.) + +## Métricas de sucesso + +- Número de participantes por meetup +- Taxa de retorno (pessoas que voltam) +- Número de palestrantes voluntários +- Engajamento nas redes sociais +- Novos membros no grupo diff --git a/docs/escalas/meetups/times.md b/docs/escalas/meetups/times.md new file mode 100644 index 0000000..3afab46 --- /dev/null +++ b/docs/escalas/meetups/times.md @@ -0,0 +1,25 @@ +# Times e Organização + +Em meetups, as funções são **acumuladas** e informais. Não precisa de estrutura complexa. + +## Funções mínimas + +| Função | Responsabilidade | Quem faz | +|--------|------------------|----------| +| **Host** | Abre o evento, apresenta palestrantes, mantém o tempo | Organizador principal | +| **Comunicação** | Divulga o evento, responde dúvidas, posta nas redes | Quem tem mais afinidade com redes sociais | +| **Logística** | Reserva o local, confirma presença, organiza o espaço | Quem tem mais disponibilidade de tempo | + +## Dicas para equipes pequenas + +- **Revezamento**: alterne quem é o host a cada meetup para não sobrecarregar +- **Voluntários rotativos**: peça para participantes ajudarem com fotografia ou organização +- **Documentação**: mantenha um documento compartilhado com senhas, contatos e processos + +## Quando crescer + +Quando a comunidade passar de 50 pessoas regulares, considere separar as funções: + +- Uma pessoa focada em conteúdo (palestrantes, talks) +- Uma pessoa focada em logística (local, inscrições) +- Uma pessoa focada em comunicação (redes sociais, divulgação) diff --git a/docs/escalas/nacional/candidatura.md b/docs/escalas/nacional/candidatura.md new file mode 100644 index 0000000..ab869df --- /dev/null +++ b/docs/escalas/nacional/candidatura.md @@ -0,0 +1,72 @@ +# Proposta de Candidatura + +O processo de escolha da sede da Python Brasil segue um calendário que começa com a chamada de candidaturas, passa pela análise das propostas e culmina no anúncio do local. + +## O processo de escolha + +### Chamada de candidaturas + +Realizada pela diretoria da APyB, dá início ao processo de escolha com a publicação das datas e critérios relativos a escolha da nova sede da PythonBrasil. + +Durante este período a diretoria da APyB define qual o grupo de pessoas será responsável pela análise das propostas. + +### Análise das propostas + +Ao final deste período inicia-se o processo de escolha propriamente dito com a análise das propostas enviadas. A análise se dará com base na apresentação de cada proposta e em sua respectiva planilha de estimativas. + +Caso existam dúvidas, os responsáveis por cada uma das propostas serão contatados diretamente e o esclarecimento será anexado aos documentos enviados. + +A definição da proposta vencedora se dará dentro do grupo. + +### Anúncio do local + +Com uma proposta vencedora, o local e (idealmente) a data serão anunciados para a comunidade. + +## Elaboração da proposta + +### Objetivos do evento + +A PythonBrasil é o evento anual da comunidade Python brasileira e tem como objetivos: + +* Ser o encontro da comunidade brasileira de Python +* Ser a porta de entrada nesta comunidade +* Financiar ações da APyB + +Qualquer proposta submetida **deve** endereçar este objetivos de maneira clara e objetiva para que seja avaliada durante o processo de escolha. + +!!! note + A escolha da sede é feita com dois anos de antecedência para otimizar o processo de organização. + +### Detalhamento dos números + +Seja muito criterioso no detalhamento de custos e de fornecedores relativos ao evento incluindo explicações onde os valores divirjam do praticado no mercado -- ex.: Caso o evento não contemple custo de filmagem, descreva a razão pela qual isto ocorrerá. + +### Restrições às restrições + +Não serão aceitas propostas que imponham restrições a exposição de marcas de patrocinadores, cobrança de ingresso ou à venda de produtos dentro do local onde o evento estiver sendo realizado. + +### Escolha de datas + +A PythonBrasil ocorre no segundo semestre do ano. A definição da data do evento fica a critério do organizador, que deve considerar os seguintes fatores: + +* Feriados nacionais e locais +* Datas religiosas +* Conflito com outros eventos de TI +* Conflito com outros eventos na cidade +* Possibilidade de organização conjunta com eventos de Python em países vizinhos[^1] + +[^1]: Nos últimos anos a PythonBrasil vem se beneficiando da organização conjunta do evento com a comunidade argentina. Esse trabalho permite trazer palestrantes internacionais que se apresentam nos dois países à um custo menor. + +Considere, por exemplo, que a coincidência da PythonBrasil com um outro evento na mesma cidade pode siginificar uma redução significativa nas opções de hospedagem e de deslocamento -- isto sem falar no custo para os membros da comunidade. + +## Exemplos e modelos + +Como exemplo deixamos um modelo de proposta de candidatura, bem como uma planilha -- com dados falsos -- para que você baseie sua proposta. + +* [Modelo de proposta](modelo.md). + +* [Planilha exemplo -- candidatura fictícia](planilhas/saopaulo-2010.ods). + +Caso queira, também temos uma planilha em branco, para ser preenchida: + +* [Planilha base](planilhas/base.ods). diff --git a/docs/escalas/nacional/financeiro.md b/docs/escalas/nacional/financeiro.md new file mode 100644 index 0000000..612ccbb --- /dev/null +++ b/docs/escalas/nacional/financeiro.md @@ -0,0 +1,37 @@ +# Financeiro e Patrocínio + +## Orçamento base + +Uma vez definidos o tamanho e a data do evento, deve se fazer um orçamento base para o evento acontecer que consiste em: + + - Local do evento + - Cuidado para sempre buscar locais já com infraestrutura adequada tipo (cadeiras, salas divididas, sala principal que comporte todas as pessoas do evento, banheiro e acessibilidade). Evite pegar espaços pra construir ou reformar, o custo é sempre muito alto + - Coffee break + - Audio visual: + - Projetores + - Microfones + +## Plano de patrocínio + +Feita essa cotação inicial você deve ter material suficiente para fazer os planos de patrocínio, algo como 50%, 30%, 20%, 10% com base nos custos isso te dará o diamante, ouro, prata, bronze, a partir disso você pode criar outras cotas lembrando que esse cálculo é uma sugestão, tudo pode depender da realidade do momento. + +Lembre-se o Plano de patrocínio não deve ser escrito em pedra, alterações podem e devem ser feitas rapidamente para se adaptar a situação socio-econômica da época. + +Empresas são pessoas só que mais burocráticas, pedindo com jeitinho e educação tudo se resolve até mudança de cotas, evite rebaixar empresas, sempre suba as cotas ou crie algo maior, mas nunca rebaixe. + +## Gestão financeira + +- **Relacionamento com a APyB**: a Associação Python Brasil apoia a organização e pode auxiliar com o CNPJ para contratos +- **Fluxo de caixa**: mantenha sempre atualizado com o time de Financeiro/Fiscal +- **Prestação de contas**: ao final do evento, divulgue um relatório financeiro transparente +- **Notas fiscais**: emita NF para cada despesa (exigência para prestação de contas) + +## Dicas financeiras + +- Concentre-se inicialmente em preparar e divulgar seu plano de patrocínio, tente definir rapidamente a identidade visual que será adotada, assim já terá uma base para tudo, lembre-se que empresas têm uma agenda complexa de pedido de patrocínio. + +- Tente enviar o mais cedo possível os planos para as empresas, e dê muita atenção às mesmas. + +- Uma vez tendo viabilizado financeiramente, seu próximo foco deve ser as atividades e a grade, fazer o C4P e fazer as avaliações para poder divulgar e confirmar cedo as palestras do evento. + +- Chegando próximo ao evento concentre-se nos benefícios dos patrocinadores e em produzir todos os benefícios físicos. Existem benefícios que precisam de entorno de 30 dias de antecipação como estandes, camisas, copos, alguns mais rápidos são as impressões como crachá, adesivos. diff --git a/docs/escalas/nacional/governanca.md b/docs/escalas/nacional/governanca.md new file mode 100644 index 0000000..f8d4141 --- /dev/null +++ b/docs/escalas/nacional/governanca.md @@ -0,0 +1,69 @@ +# Processo e Governança + +## Definição do evento + +Uma vez os times construídos, é importante que as pessoas-chave da organização sentem e façam a definição do evento: + + - Quantas pessoas esperamos? + - Data do evento? + - Estratégia de comunicação... + - Evento de Tecnologia? + - Evento de Comunidade? + - Evento Educacional? + +Uma vez feito essas definições deve se fazer um orçamento base para o evento acontecer que consiste em: + + - Local do evento + - Cuidado para sempre buscar locais já com infraestrutura adequada tipo (cadeiras, salas divididas, sala principal que comporte todas as pessoas do evento, banheiro e acessibilidade) evite pegar espaços pra construir ou reformar, o custo é sempre muito alto + - Coffee break + - Audio visual: + - Projetores + - Microfones + +Feito essa cotação inicial você deve ter material suficiente para fazer os planos de patrocínio, algo como 50%, 30%, 20%, 10% com base nos custos isso te dará o diamante, ouro, prata, bronze, a partir disso você pode criar outras cotas lembrando que esse cálculo é uma sugestão tudo pode depender da realidade do momento. + +A proposta de roadmap sugere que seja feita a identidade visual antes do plano, mas as atividades podem ser paralelizadas. Outra sugestão é sempre focar primeiro no plano depois na data e local, mas essas atividades podem ser invertidas para o bem de um plano mais assertivo. + +Lembre-se o Plano de patrocínio não deve ser escrito em pedra, alterações podem e devem ser feitas rapidamente para se adaptar a situação socio-econômica da época. + +Empresas são pessoas só que mais burocráticas, pedindo com jeitinho e educação tudo se resolve até mudança de cotas, evite rebaixar empresas sempre suba as cotas ou crie algo maior, mas nunca rebaixe. + +## Processo de candidatura + +A escolha da sede da Python Brasil segue um processo formal de candidatura coordenado pela APyB. Detalhes completos estão no [guia de proposta de candidatura](candidatura.md). + +> É comum (apesar de não obrigatório) que a Assembleia Geral da APyB ocorra presencialmente durante a Python Brasil. A convocação de Assembleias possui regras definidas no [Estatuto](https://github.com/apyb/estatuto/) da Associação para que tenham validade legal. Fiquem atentos, especialmente em relação a **prazos de divulgação** às pessoas associadas para evitar problemas que impeçam sua realização. + +## Tretas comuns + +### Os organizadores, palestrantes, ministrantes de tutorial, pagam ingresso? + +Essa decisão é tomada pela organização. Dessa forma, todo ano é discutido esse tema para cada um desses grupos. + +Levem em consideração os seguintes pontos: + + * Definam se organização paga ingresso e principalmente quem será considerado "organização". Uma opção é considerar que todas as pessoas que forem trabalhar no evento presencial não poderão aproveitá-lo, pois estarão ocupadas com as responsabilidades de org, então seria bom não pagarem. + * Definam isso para palestrantes e ministrantes de tutoriais ANTES de abrir o Call For Papers para já deixar explicito na submissão. + * Dependendo da situação econômica da região, do pais e da verba do evento, essa questão pode ser reconsiderada. + +> Deve-se deixar isso explicito a todos, pois o evento não tem orçamento proprio ele deve ser sempre autocontido mesmo as camisetas da organização saem do custo do evento. + +### Código de conduta (CDC) + +O Comitê de Código de Conduta é organizado e montado com ajuda da organização, mas é totalmente independente tendo poder até em cima da organização durante a realização do evento. + +O CDC só cobre as atividades oficiais da Python Brasil (tutoriais, sprints, palestras, Django Girls), todos os demais eventos extraoficiais (Algorave, PyBar, Pós-Evento) pode causar situações para os próximos dias, mas o CDC não atua fora do evento (possíveis situações devem ser tratadas no evento). + +A comunidade se posiciona sempre e ajuda em outras situações, mas a organização do evento não pode se comprometer com isso. + +> Importante destacar que é imprescindível, que toda a organização e comitê estejam a par do conteúdo do [Código de Conduta](https://python.org.br/cdc/). + +### Programas de apoio de custo e ingressos cortesia para grupos sub-representados + +Esse tipo de programa é sempre bem vindo, mas a organização deve sempre olhar para o financeiro e a viabilização do evento. + +A organização estando definida e organizada, pode-se ir atrás desses grupos e viabilizar a vinda deles através de iniciativas dos próprios grupos com o apoio da organização (apoiar na divulgação, alcance e suporte para viabilizar a parceria). + +> A organização não deve se comprometer com a criação desses programas, pois é uma atividade da comunidade. A organização sempre é, e provavelmente sempre vai ser, sobrecarregada com outras atividades. + +**OBS**: Cuidado para não abrir precedentes que possam exigir que toda a organização faça pois a comunidade gostou. diff --git a/docs/escalas/nacional/index.md b/docs/escalas/nacional/index.md new file mode 100644 index 0000000..797f5bf --- /dev/null +++ b/docs/escalas/nacional/index.md @@ -0,0 +1,94 @@ +# Organizando uma Python Brasil + +A Python Brasil é o maior evento de Python na América Latina. Organizado anualmente pela Associação Python Brasil (APyB), o evento é itinerante e conta com equipes organizadoras diferentes a cada edição. + +Este guia cobre todo o processo de organização, desde a formação da equipe até o pós-evento. + +## Visão geral + +A organização de uma Python Brasil é um trabalho coletivo que envolve dezenas de pessoas distribuídas em diferentes times. A seguir, você encontrará os principais tópicos da organização: + +- [Proposta de Candidatura](candidatura.md) - Como funciona a escolha da sede e a elaboração da proposta +- [Processo e Governança](governanca.md) - Definição do evento, candidatura e questões comuns +- [Times e Organização](times.md) - Todos os times necessários e suas responsabilidades +- [Orientações Gerais](orientacoes.md) - Dicas práticas baseadas em experiências de edições anteriores +- [Financeiro e Patrocínio](financeiro.md) - Orçamento, patrocínio e gestão financeira +- [Marketing e Divulgação](marketing.md) - Identidade visual, comunicação e divulgação + +## Protótipo de roadmap + +> Sugestão de trabalhos, as atividades e a ordem estão sempre em discussão e devem ser sempre atualizadas: + +Atividades: + +- Definir calendario de reuniões (mensal, quinzenal, semanal) +- Definir tamanho do evento: + - Numero de trilhas + - Numero de pessoas + - Numero de tutoriais + - Numero de locais (Muitas vezes não é possivel achar um espaço que contemple tutorias e palestras) +- Definir Times +- Definir Identidade Visual com principais elementos e ja com mockups. + - Alguns mockups uteis: + - Cracha + - Camisa + - Cordinhas + - Sacolas + - Apresentações + - Templates para publicação + - palestrantes + - keynotes + - patrocinios + - avisos +- Definir plano de patrocinio: + - Beneficios disponiveis + - fisicos + - digitais + - Cotas + - Estrategia de comunicação (2023 foi adotado "evento educacional") +- Definir Data, local e grade temporária: + - Grade temporária seria um planejamento de slots quantos keynotes, quantas palestras, horários, numeros de tutoriais, dias de sprint, dias de tutorial + - o local para os tutorias devem incluir laboratorios de informatica. + - o local para as palestras é necessário contemplar + - Salas dividias para trilhas + - Sala principal que comporte todo o público + - Banheiros + - Acessibilidade + - Sala para organização/keynotes + - Espaço para coffe break +- Iniciar planilha de caixa +- Iniciar orçamentos junto com captação de recursos. +- Iniciar chamada de trabalhos (C4P) +- Iniciar votação interna de keynotes +- Viabilizar os translados e planejamento dos keynotes +- Fazer ativações em eventos regionais. + +Tenham sempre muito cuidado com paralelismo de atividades e concorrencia entre recursos, evitem sobrecarregar times especificos. + +Dentre todas as atividades é uma boa pratica fazer atas das reuniões e manter tudo organizado nos repositorios que são disponibilizados para o evento. + +## Outras dicas + +- Concentre-se inicialmente em preparar e divulgar seu plano de patrocinio, tente definir rapidamente a identidade visual que será adotada, assim ja terá uma base para tudo, lembre-se que empresas tem uma agenda complexa de pedido de patrocinio. + +- Tente enviar o mais cedo possivel os planos para as empresas, e de muita atenção as mesmas. + +- Uma vez tendo viabilizado financeiramente, seu proximo foco deve ser as atividades e a grade, fazer o C4P e fazer as avaliações para poder divulgar e confirmar cedo as palestras do evento. + +- A grade do evento convida pessoas a vir, tente dar pelo menos 45 dias para as pessoas verem a grade e descidir se virão ou não, dependendo do local que o evento esta. Proximo aos extremos do pais, isso é muito importante. + +- Chegando proximo ao evento concentre-se nos beneficios dos patrocinadores e em produzir todos os beneficios fisicos, exitem beneficios que precisam de entorno de 30 dias de antecipação como estandes, camisas, copos, alguns mais rapidos são as impressões como crachá, adesivos. + +- O evento é muito importante para alunos de universidades, faculdades e escolas de ensino medio, busque encontrar acesso a essas pessoas e tente viabilizar a ida deles com apoio das escolas, caso o evento esteja financeiramente bom gaste tudo que puder para trazer novos integrantes para a comunidade sendo estudandes de escolas ou grupos subrepresentados, busque associaçoes regionais que possam lhe auxilar. + +- A experiencia do evento deve correr sempre em paralelo mas no estagio final do evento isso sera muito necessario para finalizar compras (kit de banheiros, presente para palestrantes, keynotes, instrutores) e a organização de atividades (pybar, algohave, django-girls...). + +## Tópicos + +* [Proposta de Candidatura](candidatura.md) +* [Processo e Governança](governanca.md) +* [Times e Organização](times.md) +* [Orientações Gerais](orientacoes.md) +* [Financeiro e Patrocínio](financeiro.md) +* [Marketing e Divulgação](marketing.md) + diff --git a/docs/escalas/nacional/marketing.md b/docs/escalas/nacional/marketing.md new file mode 100644 index 0000000..59a56de --- /dev/null +++ b/docs/escalas/nacional/marketing.md @@ -0,0 +1,74 @@ +# Marketing e Divulgação + +## Identidade visual + +A identidade visual deve ser definida cedo na organização, pois serve de base para todos os outros materiais. + +### Mockups úteis + +- Crachá +- Camisa +- Cordinhas +- Sacolas +- Apresentações +- Templates para publicação + - palestrantes + - keynotes + - patrocínios + - avisos + +### Aplicação + +O time de Marketing/Publicidade deve trabalhar junto com todos os demais para que a identidade visual seja integralmente unificada, lembrando que o simples é sempre o melhor em todas as situações. + +Atividades: + +- Personalização e implantação da identidade visual no Plano de Patrocínio +- Gerenciar as redes sociais +- Fazer as postagens +- Desenvolver a identidade visual do evento: + - criar mockups para site + - criar mockups para redes (thumbs das redes sociais) + - criar mockups para lonas + - criar mockups para banners + - criar mockups para painéis + - criar mockups para adesivos + - criar mockups para camisas + +## Canais de comunicação + +O time de Marketing deve fazer atendimento de respostas nos múltiplos canais da Python Brasil: + +- LinkedIn +- Instagram +- Twitter +- Facebook +- Telegram +- Solução de ingressos (auxiliar nas respostas de dúvidas) +- Solução de palestras (auxiliar nas respostas de dúvidas) +- E-mail + +## Estratégia de divulgação + +- Concentre-se inicialmente em preparar e divulgar seu plano de patrocínio, tente definir rapidamente a identidade visual que será adotada, assim já terá uma base para tudo. + +- Uma vez tendo viabilizado financeiramente, seu próximo foco deve ser as atividades e a grade, fazer o C4P e fazer as avaliações para poder divulgar e confirmar cedo as palestras do evento. + +- A grade do evento convida pessoas a vir, tente dar pelo menos 45 dias para as pessoas verem a grade e decidir se virão ou não, dependendo do local que o evento está. Próximo aos extremos do país, isso é muito importante. + +## Engajamento com a comunidade + +- O evento é muito importante para alunos de universidades, faculdades e escolas de ensino médio, busque encontrar acesso a essas pessoas e tente viabilizar a ida deles com apoio das escolas. + +- Caso o evento esteja financeiramente bom, gaste tudo que puder para trazer novos integrantes para a comunidade, sendo estudantes de escolas ou grupos sub-representados, busque associações regionais que possam lhe auxiliar. + +- A experiência do evento deve correr sempre em paralelo, mas no estágio final do evento isso será muito necessário para finalizar compras (kit de banheiros, presente para palestrantes, keynotes, instrutores) e a organização de atividades (PyBar, Algohave, Django Girls...). + +- Faça ativações em eventos regionais para divulgar a Python Brasil. + +## Relacionamento com comunidades + +- Mantenha relacionamento ativo com as comunidades Python locais e regionais +- Divulgue o evento nos canais das comunidades +- Incentive a participação de grupos sub-representados +- Apoie iniciativas de diversidade e inclusão diff --git a/source/proposta/modelo.txt b/docs/escalas/nacional/modelo.md similarity index 67% rename from source/proposta/modelo.txt rename to docs/escalas/nacional/modelo.md index 2c034db..17c6290 100644 --- a/source/proposta/modelo.txt +++ b/docs/escalas/nacional/modelo.md @@ -1,11 +1,8 @@ -Modelo de proposta -============================= +# Modelo de proposta -Proposta para sediar a PythonBrasil[x] ---------------------------------------- +## Proposta para sediar a PythonBrasil[x] -Racional da proposta -^^^^^^^^^^^^^^^^^^^^^^ +### Racional da proposta A região metropolitana de São Paulo representa 12,38% do PIB brasileiro[1], é o maior mercado de tecnologia da informação da América Latina e apresentando @@ -26,30 +23,27 @@ Além destes fatores vale lembrar que empresas como Serpro e Caixa possuem centros de desenvolvimento na cidade, o que aumenta o potencial para participação de usuários de Python que não são próximos a comunidade. -Data proposta -++++++++++++++++++++++++ +#### Data proposta A PythonBrasil[x] deve ser realizada nos dias: - * 27 de Setembro (Treinamentos) - * 28 de Setembro (Treinamentos) - * 29 de Setembro (Conferência) - * 30 de Setembro (Conferência) - * 01 de Outubro (Conferência) - * 02 de Outubro (Sprints) - * 03 de Outubro (Sprints) +* 27 de Setembro (Treinamentos) +* 28 de Setembro (Treinamentos) +* 29 de Setembro (Conferência) +* 30 de Setembro (Conferência) +* 01 de Outubro (Conferência) +* 02 de Outubro (Sprints) +* 03 de Outubro (Sprints) Este período não coincide com feriados religiosos ou feriados locais em nossa cidade. -Visão sobre a Conferência -^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +### Visão sobre a Conferência Caso sejamos escolhidos como organizadores da PythonBrasil[x] nossa visão para cada um dos três objetivos propostos está detalhada abaixo. -Encontro da Comunidade -++++++++++++++++++++++++ +#### Encontro da Comunidade Como sempre, pretendemos propiciar um ambiente agradável aos pythonistas de longa data e incentivar aqueles que não participaram das últimas edições. @@ -58,8 +52,7 @@ Incentivaremos a submissão de palestras de nível mais avançado e a realizaç eventos paralelos à PythonBrasil para que este público se veja motivado a participar desta edição. -Porta de entrada na comunidade -++++++++++++++++++++++++++++++++ +#### Porta de entrada na comunidade Por outro lado devemos atrair novos participantes para a comunidade e com isto em mente usaremos os PythonCampus como forma de atrair estudantes da região @@ -72,30 +65,27 @@ Nossa intenção é ter parceria com outras comunidades e eventualmente realizar promoções de venda cruzada de inscrições para outros eventos realizados na mesma cidade. -Financiar a APyB -++++++++++++++++++++++++ +#### Financiar a APyB Vislumbramos duas fontes de receita direta para a APyB provenientes desta edição da PythonBrasil: Royalties e Novas Associações. -Royalties: - Nossa proposta, como declarado abaixo, é repassar 15% do valor líquido das - inscrições -- excluindo-se as taxas dos gateways de pagamento -- para a APyB - ao final do evento. Em nossa planilha demonstramos uma previsão de qual - seria este valor. +**Royalties:** +Nossa proposta, como declarado abaixo, é repassar 15% do valor líquido das +inscrições -- excluindo-se as taxas dos gateways de pagamento -- para a APyB +ao final do evento. Em nossa planilha demonstramos uma previsão de qual +seria este valor. -Novas Associações: - Ao apresentarmos um valor de inscrição mais baixo para associados da APyB do - que para qualquer outra categoria de inscritos -- mesmo Palestrantes ou - Estudantes -- queremos incentivar que as pessoas se inscrevam na APyB e - então façam a inscrição no evento. Esta abordagem deve ser bem sucedida caso - tenhamos um percentual grande de novos participantes no evento. +**Novas Associações:** +Ao apresentarmos um valor de inscrição mais baixo para associados da APyB do +que para qualquer outra categoria de inscritos -- mesmo Palestrantes ou +Estudantes -- queremos incentivar que as pessoas se inscrevam na APyB e +então façam a inscrição no evento. Esta abordagem deve ser bem sucedida caso +tenhamos um percentual grande de novos participantes no evento. -Sobre o Local -^^^^^^^^^^^^^^^^^ +### Sobre o Local -Transportes e hotelaria -+++++++++++++++++++++++++ +#### Transportes e hotelaria A região metropolitana de São Paulo é de fácil acesso para participantes vindos de todas as regiões do país e também do exterior. Contando com os Aeroportos de @@ -109,8 +99,7 @@ A estrutura hoteleira da região é a mais ampla e diversificada do país, sendo cidade hoje o principal destino turístico do país, graças a sua estrutura de eventos e lazer. -Local do evento -++++++++++++++++++ +#### Local do evento Contrataremos um centro de convenções para a realização do evento. Com isto esperamos oferecer uma estrutura especializada e a oportunidade de patrocínio a @@ -126,12 +115,10 @@ de opções locais para a montagem e gestão do espaço. Este problema não deve ocorrer em São Paulo, que usualmente recebe este tipo de eventos e é, ou é próxima da, sede destas empresas. -.. note:: A contratação de um centro de convenções está considerada na planilha - de custos anexa a esta proposta +> **Nota:** A contratação de um centro de convenções está considerada na planilha +> de custos anexa a esta proposta - -Modelo de trabalho -^^^^^^^^^^^^^^^^^^^^^^^^ +### Modelo de trabalho Nossa proposta de trabalho é similar ao modelo utilizado pela Plone Foundation para a PloneConference. A responsabilidade por receitas e despesas ficará a @@ -142,8 +129,7 @@ Este modelo permite, em nossa visão, uma gestão mais efetiva da parte financei do evento, que contaria com investimento superior ao realizado nas edições anteriores. -Sobre a organização -^^^^^^^^^^^^^^^^^^^^^^^^ +### Sobre a organização A organização do evento será encabeçada por **Érico Andrei**, sócio da Simples Consultoria, membro fundador da APyB, membro da Plone Foundation e @@ -155,13 +141,12 @@ sede seja definida. O restante da equipe de organização será composta por: - * **Karyn Nassif**, sócia da Diaspar. Organizadora do World Usability Day em - São Paulo por dois anos, responsável pela gestão operacional do Plone - Symposium South America e responsável pela comercialização da PythonBrasil - 5 e 6. - - * **André Nogueira**, sócio da Simples Consultoria. Organizador do World - Plone Day em São Paulo durante os anos de 2008, 2009 e 2010. Participou da - equipe de organização do Plone Symposium South America e é o responsável - pelo design do site da PythonBrasil desde sua segunda edição. +* **Karyn Nassif**, sócia da Diaspar. Organizadora do World Usability Day em + São Paulo por dois anos, responsável pela gestão operacional do Plone + Symposium South America e responsável pela comercialização da PythonBrasil + 5 e 6. +* **André Nogueira**, sócio da Simples Consultoria. Organizador do World + Plone Day em São Paulo durante os anos de 2008, 2009 e 2010. Participou da + equipe de organização do Plone Symposium South America e é o responsável + pelo design do site da PythonBrasil desde sua segunda edição. diff --git a/docs/escalas/nacional/orientacoes.md b/docs/escalas/nacional/orientacoes.md new file mode 100644 index 0000000..8e5c1bc --- /dev/null +++ b/docs/escalas/nacional/orientacoes.md @@ -0,0 +1,18 @@ +# Orientações Gerais + +A escala do evento nacional é bem maior que uma regional, mas algumas orientações para organizar são as mesmas. Por isso, alguns dos trechos gerais abaixo são compartilhados com o [guia de eventos regionais](../regionais/orientacoes.md). + +--8<-- "orientacoes-gerais.md:primeiros-passos" +--8<-- "orientacoes-gerais.md:cdc" +--8<-- "orientacoes-gerais.md:participacao-apyb" + +## Sugestões (baseado em experiências prévias) +--8<-- "orientacoes-gerais.md:local-evento" +--8<-- "orientacoes-gerais.md:preparando-local" +--8<-- "orientacoes-gerais.md:site" +--8<-- "orientacoes-gerais.md:credenciamento" +--8<-- "orientacoes-gerais.md:coffee-break" +--8<-- "orientacoes-gerais.md:kit-participante" +--8<-- "orientacoes-gerais.md:espaco-kids" +--8<-- "orientacoes-gerais.md:ingresso-organizacao" +--8<-- "orientacoes-gerais.md:programas-apoio" diff --git a/source/proposta/planilhas/base.ods b/docs/escalas/nacional/planilhas/base.ods similarity index 100% rename from source/proposta/planilhas/base.ods rename to docs/escalas/nacional/planilhas/base.ods diff --git a/source/proposta/planilhas/saopaulo-2010.ods b/docs/escalas/nacional/planilhas/saopaulo-2010.ods similarity index 100% rename from source/proposta/planilhas/saopaulo-2010.ods rename to docs/escalas/nacional/planilhas/saopaulo-2010.ods diff --git a/docs/escalas/nacional/times.md b/docs/escalas/nacional/times.md new file mode 100644 index 0000000..17d5993 --- /dev/null +++ b/docs/escalas/nacional/times.md @@ -0,0 +1,128 @@ +# Times e Organização + +Assim que você assumir a responsabilidade de organizar uma Python Brasil, você precisa iniciar a organização do time que auxiliará a fazer o evento acontecer. + +Os principais papéis necessários são: + +## Time de Captação de Recursos + +O time de captação de recursos deve trabalhar na viabilização do evento, esse time deve trabalhar próximo ou compartilhar pessoas com o time de fiscal/financeiro, para que todos estejam sempre alinhados. + +- Desenvolver Plano de Patrocínio +- Buscar Patrocínios +- Buscar Parcerias: + - hotéis, restaurantes +- Organizar Ingressos (Lotes, Códigos Promocionais) +- Sistema de Check-in/Reembolso + +## Time de Financeiro/Fiscal + +Aqui vem uma parte burocrática de manter sempre atualizado o fluxo de caixa e um relacionamento próximo com a Associação Python Brasil (APyB). +Idealmente esse time deve ter uma proximidade também com o administrativo para que possam juntos trabalhar no custo previsto e total do evento. + +- Organizar Fluxo de caixa +- Previsibilidade de Custo +- Fazer os pedidos de nota +- Fazer os pedidos de reembolso +- Relacionamento com APyB +- Criação e configuração do evento na ferramenta de ingressos (por padrão utilizamos o Eventbrite) + +## Time de Marketing/Publicidade + +Time que deve trabalhar junto com todos os demais para que a identidade do visual seja integralmente unificada, lembrando que o simples é sempre o melhor em todas as situações, dentre as muitas atividades algumas são: + +- Personalização e implantação da identidade visual no Plano de Patrocínio. +- Gerenciar as Redes sociais +- Fazer as postagens +- Desenvolver a Identidade visual do evento + - criar mockups para site + - criar mockups para redes (thumbs das redes sociais) + - criar mockups para lonas + - criar mockups para banners + - criar mockups para paineis + - criar mockups para adesivos + - criar mockups para camisas +- Relacionamento com comunidades +- Fazer atendimento de respostas nos múltiplos canais da Python Brasil + - LinkedIn + - Instagram + - Twitter + - Facebook + - Telegram + - solução de ingressos (auxiliar nas resposta de dúvidas) + - solução de palestras (auxiliar nas resposta de dúvidas) + - e-mail + +## Time de Infraestrutura + +Esse time vai ser fundamental próximo ao evento, e é muito importante que estejam próximos à cidade do evento para viabilizar melhor todas as situações, pessoas distantes da cidade sede podem ajudar, mas seriam melhor alocadas em outros times, dentre as responsabilidades do time: + +- Orçar e fechar o Local do evento +- Orçar e fechar equipe de limpeza (caso não esteja inclusa na contratação do local principal) +- Orçar e fechar Internet +- Orçar e fechar Fotografia +- Orçar e fechar equipe de som +- Orçar e fechar equipe de filmagem +- Orçar e fechar equipe de transmissão online (provavelmente será a mesma da de filmagem) +- Orçar e fechar Tradução Simultânea +- Orçar e fechar Comunicação no dia do evento + - Rádios ou um canal rápido de conversa para o operacional +- Orçar e fechar time de Libras +- Organizar transmissão + - Chaves do youtube + - links para as transmissões + - programação de start e stop das transmissões +- Buscar locais para realização dos tutoriais +- Ser porta-voz dos translados e mobilidade dos keynotes + +## Time de Experiência do evento + +O time de experiência do usuário deve conseguir integrar as pessoas e mostrar o carinho que a cidade sede quer transmitir, tentando organizar atividades, espaços e experiências para as pessoas que vêm ao evento. + +- Coffee Break + - organizar coffee vegano + - organizar coffee vegetariano + - organizar coffee omnívoro + - organizar coffee celíaco +- Kit banheiro +- Lightning Talks +- Guarda Volumes +- Coworking +- Sleep/Relax space +- Guia da cidade + +## Time de Administração + +O time administrativo, deve conter principalmente pessoas de tomada de decisão, fazendo o papel de contratação orçamento e cuidado com fornecedores, são bem vindas pessoas com garagens grandes. + +- Orçamentos +- Contratos +- Imobilizado do evento: + - cordinhas + - crachás + - camisas + - brindes + +## Time Técnico + +O time técnico é o que mais pessoas vão querer participar, pois é um evento de tecnologia. Esse time tem a responsabilidade de: + +- Criar o site do evento utilizando a URL que a APyB disponibiliza (aquela 2022.pythonbrasil, 2023.pythonbrasil, etc) com base na identidade visual criada pelo time de design. +- O site deve ser um HTML estático, pode ser usado algum framework para ajudar como: Pelican, Hugo, Jekyll... ou mesmo escrever diretamente o HTML e o CSS. +- Manter o site atualizado com todas as informações que forem passadas ao público (keynotes, plano de patrocínio, disponibilização da grade de palestras, local do evento, etc) +- Cuidar dos acessos (Autorizar acessos a arquivos, sistemas e repositórios) +- Criar sistemas de notificação, criando formas de facilitar para que os participantes possam facilmente receber notícias do evento + - Aplicativo + - Canais em chats + - Notificar atualizações do site +- Criar integração com plataforma de ingressos e palestras. + - links ou outras integrações + +## Time de Conteúdo + +Responsável por gerenciar a grade de atividades oficiais do evento como palestras, tutoriais, assembleias, keynotes. + +- Criação e configuração do evento na ferramenta de submissão de atividades (por padrão utilizamos a ferramenta Pretalx) +- Criação do formulário de submissão de atividades +- Avaliação de atividades para definir quais entram na grade +- Definição de estratégias de seleção de keynotes (votação garantia que já não tenha sido, além de estratégia de marketing em cima do keynote) diff --git a/docs/escalas/regionais/ferramentas.md b/docs/escalas/regionais/ferramentas.md new file mode 100644 index 0000000..867260e --- /dev/null +++ b/docs/escalas/regionais/ferramentas.md @@ -0,0 +1,3 @@ +# Ferramentas + +Acesse o guia do [pretix](../../ferramentas/pretix.md). diff --git a/docs/escalas/regionais/financeiro.md b/docs/escalas/regionais/financeiro.md new file mode 100644 index 0000000..4f9e39a --- /dev/null +++ b/docs/escalas/regionais/financeiro.md @@ -0,0 +1,54 @@ +# Financeiro e Patrocínio + +## Orçamento base + +Itens que compõem o orçamento: + +- Local do evento + - Preferência por locais gratuitos (por exemplo, universidades), com infraestrutura adequada (cadeiras, salas divididas, sala principal que comporte todas as pessoas do evento, banheiro e acessibilidade) +- Coffee break +- Audio visual: + - Projetores + - Microfones +- Kit do participante + +## Plano de patrocínio + +Elabore um documento com o contexto do evento, com fotos e dados de edições anteriores, e contrapartidas que façam sentido para as empresas. O plano de patrocínio não deve ser escrito em pedra, alterações podem e devem ser feitas rapidamente para se adaptar a situação socio-econômica da época. + +## Gestão financeira + +- **Conta separada**: use a conta bancária da APyB para receber todo o dinheiro do evento +- **Planilha de fluxo de caixa**: acompanhe entradas e saídas em tempo real +- **Notas fiscais**: emita NF para cada despesa (exigência para prestação de contas) +- **Prestação de contas**: ao final do evento, divulgue um relatório financeiro transparente + + +## Dicas financeiras + +- Concentre-se inicialmente em preparar e divulgar seu plano de patrocínio, tente definir rapidamente a identidade visual que será adotada, assim já terá uma base para tudo. Lembre-se que empresas têm uma agenda complexa de pedido de patrocínio. +- Tente enviar o mais cedo possível os planos para as empresas, e dê muita atenção às mesmas. +- Uma vez tendo viabilizado financeiramente, seu próximo foco deve ser as atividades e a grade, fazer o C4P e fazer as avaliações para poder divulgar e confirmar cedo as palestras do evento. +- Chegando próximo ao evento concentre-se nos benefícios dos patrocinadores e em produzir todos os benefícios físicos. Existem benefícios que precisam de 30 dias de antecipação como estandes, camisas, copos, e alguns mais rápidos como impressões de crachá e adesivos. + +## Estratégias de receita + +### 1. Ingressos + +Tenha faixas de ingressos de acordo com os participantes, como meia-entrada para estudantes e ingressos empresariais. + +**Dica**: ofereça também ingressos solidários (pessoa paga extra para subsidiar outra) + +### 2. Patrocínio + +Espace as cotas de patrocínio para que se adequem à vários tamanhos de empresas. Empresas maiores conseguem arcar com mais verba, mas também é interessante ter cotas menores para empresas locais. + +**Dica regional**: adapte os valores à realidade econômica da região. No Norte/Nordeste, os valores podem ser menores; em SP/RJ, maiores. + +### 3. Parcerias locais + +- **Hotéis**: desconto para participantes em troca de divulgação +- **Restaurantes**: cupons de desconto ou cardápio especial +- **Transporte**: parcerias com empresas de ônibus/avião para descontos +- **Universidades**: uso de espaço em troca de visibilidade + diff --git a/docs/escalas/regionais/governanca.md b/docs/escalas/regionais/governanca.md new file mode 100644 index 0000000..787c010 --- /dev/null +++ b/docs/escalas/regionais/governanca.md @@ -0,0 +1,33 @@ +# Processo e Governança + +## Como surge um evento regional? + +Diferente da Python Brasil (que tem um processo formal de candidatura via APyB), eventos regionais nascem de forma **orgânica**: + +1. **Iniciativa local**: uma comunidade ou grupo de comunidades decide organizar o evento +2. **Validação com a APyB**: após definir onde será o novo evento, a organização deve [solicitar o apoio da APyB](https://apyb.python.org.br/associados/guias/como-organizar-eventos/#como-funciona) para iniciar os trâmites legais +3. **Uso da marca**: o nome deve seguir o padrão "Python [Região]" ou nome próprio (como Caipyra) +4. **Autonomia**: a equipe organizadora tem total autonomia sobre o evento + +## Relação com a APyB + +- A APyB **não organiza** os eventos, apenas provê a infraestrutura legal, burocrática e tecnológica para que eles aconteçam +- Ferramentas disponíveis: utilização do [Pretix](https://ingressos.python.org.br) para venda de ingressos e [Pretalx](https://talks.python.org.br) para submissão de atividades +- Comunicação: grupo dos Kahunas no Telegram para contato direto com a APyB e coordenação com a organização dos outros eventos regionais + +## Diferenças entre regionais e Python Brasil + +| Aspecto | Evento Regional | Python Brasil | +|---------|-----------------|---------------| +| **Processo de escolha** | Iniciativa da comunidade local | Candidatura formal via APyB | +| **Escala** | 100-500 pessoas | 500-1500 pessoas | +| **Duração** | 2-3 dias | 4-6 dias | +| **Abrangência** | Regional (estados vizinhos) | Nacional e internacional | +| **Orçamento** | R$ 50k-100k | R$ 200k-500k+ | + +## Código de Conduta + +- **Obrigatório**: todo evento da comunidade Python no Brasil deve adotar o [Código de Conduta da APyB](https://python.org.br/cdc/) +- Divulgue o CDC em todos os materiais e durante o evento +- Tenha um canal de denúncia claro e acessível +- A equipe organizadora deve estar familiarizada com o CDC diff --git a/docs/escalas/regionais/index.md b/docs/escalas/regionais/index.md new file mode 100644 index 0000000..fbe71d8 --- /dev/null +++ b/docs/escalas/regionais/index.md @@ -0,0 +1,111 @@ +# Guia de Eventos Regionais Python + +Eventos regionais são conferências de Python organizadas por e para comunidades de uma região específica do Brasil. Eles representam um passo além dos meetups, com maior escala, duração e impacto. Este guia cobre Python Norte, Python Sul, Python Nordeste, Python Sudeste, Python Cerrado e Caipyra. + +## O que são os eventos regionais? + +Os eventos regionais são conferências anuais organizadas pelas comunidades locais de Python em diferentes regiões do Brasil. Cada evento tem sua identidade própria, mas todos compartilham os valores da comunidade Python: inclusão, colaboração e diversidade. + +| Evento | Região | Primeira edição | Observações | +|--------|--------|-----------------|-------------| +| **Python Norte** | Norte | 2023 | Abrange AC, AP, AM, RO, RR, PA, TO | +| **Python Nordeste** | Nordeste | 2013 | Abrange AL, BA, CE, MA, PB, PE, PI, RN, SE | +| **Python Sudeste** | Sudeste | 2016 | Abrange SP, RJ, MG, ES | +| **Python Sul** | Sul | 2017 | Abrange PR, SC, RS | +| **Python Cerrado** | Centro-Oeste | 2018 | Abrange GO, DF, MT, MS | +| **Caipyra** | Interior de SP | 2016 | Foco no interior paulista | + +## Roadmap sugerido + +### 12 meses antes + +- [ ] Definir data +- [ ] Definir local +- [ ] Montar equipe organizadora +- [ ] [Solicitar apoio da APyB](https://apyb.python.org.br/associados/guias/como-organizar-eventos/#como-funciona) + +### 10 meses antes + +- [ ] Criar identidade visual +- [ ] Montar e divulgar plano de patrocínio +- [ ] Lançar site do evento + +### 6 meses antes + +- [ ] Abrir primeiro lote de ingressos +- [ ] Iniciar divulgação ativa +- [ ] Convidar keynotes +- [ ] Cotar fornecedores + +### 4 meses antes + +- [ ] Começar a divulgar os keynotes +- [ ] Abrir segundo lote de ingressos +- [ ] Começar a fechar contrato com os fornecedores + +### 3 meses antes + +- [ ] Abrir Call for Papers +- [ ] Iniciar produção de materiais (camisetas, crachás, adesivos) + +### 2 meses antes + +- [ ] Avaliar submissões e montar grade preliminar +- [ ] Fazer estimativa do coffee-break + +### 1 mês antes + +- [ ] Finalizar e divulgar grade e palestrantes +- [ ] Abrir terceiro lote de ingressos +- [ ] Confirmar quantidade do coffee-break + +### 2 semanas antes + +- [ ] Abrir inscrições dos tutoriais +- [ ] Confirmar voluntários para o dia do evento +- [ ] Testar equipamentos e estrutura + +### Semana do evento + +- [ ] Enviar orientações para palestrantes e ministrantes +- [ ] Enviar e-mail com detalhes logísticos para participantes +- [ ] Preparar kit do participante +- [ ] Montagem da estrutura + +### Durante o evento + +- [ ] Credenciamento +- [ ] Execução do evento +- [ ] Desmontagem + +### Pós-evento + +- [ ] Prestação de contas financeira +- [ ] Agradecimentos públicos +- [ ] Compartilhamento de fotos e vídeos +- [ ] Documento de lições aprendidas + +## Checklist final + +- [ ] Código de Conduta divulgado em todos os materiais +- [ ] Canal de denúncia do CDC claro e acessível +- [ ] Site do evento atualizado com todas as informações +- [ ] Grade de palestras definida e divulgada +- [ ] Voluntários escalados para o dia do evento +- [ ] Equipamentos testados (som, projeção, transmissão) +- [ ] Local bem sinalizado (indicação de salas e auditórios) +- [ ] Coffee break e alimentação com opções veganas/vegetarianas + +## Recursos Úteis + +- [Código de Conduta da APyB](https://python.org.br/cdc/) + +## Tópicos + +* [Processo e Governança](governanca.md) +* [Times e Organização](times.md) +* [Orientações Gerais](orientacoes.md) +* [Financeiro e Patrocínio](financeiro.md) +* [Marketing e Divulgação](marketing.md) +* [Ferramentas](ferramentas.md) + diff --git a/docs/escalas/regionais/marketing.md b/docs/escalas/regionais/marketing.md new file mode 100644 index 0000000..cb958db --- /dev/null +++ b/docs/escalas/regionais/marketing.md @@ -0,0 +1,66 @@ +# Marketing e Divulgação + +## Identidade visual regional +A identidade visual dos eventos regionais, assim como na Python Brasil, costuma ter características que representem a região do evento. Caso o evento da sua região já tenha uma identidade visual definida, é interessante variar apenas a paleta de cores, para manter uma identidade coesa e cortar custos com designer. + +### Definição da identidade visual +Pode-se utilizar referências da fauna, flora, cultura, costumes da região, dialeto, ou até comidas típicas para que a logo e a identidade visual represente o evento regional. Evite utilizar artes geradas por IA, pois não passam profissionalismo. + +Itens que compõem a identidade visual: + +- Paleta de cores +- Tipografia +- Templates de posts para redes sociais: + - Anúncios gerais e avisos + - Divulgação de palestrantes + - Divulgação de ministrantes + - Divulgação de keynotes +- Banners para o local do evento +- Crachá +- Camiseta +- Layout do site + + +**Exemplos de sucesso**: + +- Python Norte incorporou elementos da cultura nortista, representando toda a região +- Caipyra definiu uma capivara como mascote +- Python Sudeste possui identidade que vem sendo repassada a cada edição + +## Estratégia de divulgação + +### Cronograma sugerido + +| Quando | Ação | +|--------|------| +| **12 meses antes** | Anúncio da data e local | +| **10 meses antes** | Divulgação do plano de patrocínio | +| **6 meses antes** | Abertura do primeiro lote de ingressos | +| **4 meses antes** | Divulgação dos primeiros Keynotes, abertura do segundo lote de ingressos | +| **3 meses antes** | Abertura do Call for Papers, divulgação dos patrocinadores | +| **2 meses antes** | Encerramento do Call for Papers | +| **1 mês antes** | Divulgação da grade, abertura do terceiro lote de ingressos | +| **2 semana antes** | Detalhes logísticos, lembretes | +| **1 semana antes** | Contagem regressiva, avisos | +| **Durante** | Cobertura em tempo real (fotos, stories) | +| **Pós-evento** | Agradecimentos, divulgação das fotos e gravações (caso haja) | + +## Canais de divulgação + +**Altamente recomendados**: + +- Site oficial do evento +- Instagram e LinkedIn (sugestão: usar o [Buffer](https://buffer.com/) para facilitar postagens simultâneas) +- Grupo no Telegram da comunidade regional + +**Sugeridos**: + +- Outros grupos de Python no Telegram +- Comunidades de tecnologia vizinhas (Ruby, JavaScript, etc.) + +## Engajamento com a comunidade local + +- **Parcerias com outras comunidades**: divulgue o evento em meetups de outras tecnologias +- **Universidades**: peça para a coordenação dos cursos de computação divulgar para os alunos +- **Empresas**: peça para empresas de TI da região divulgarem internamente +- **Influenciadores locais**: convide pessoas conhecidas na comunidade para serem embaixadoras diff --git a/docs/escalas/regionais/orientacoes.md b/docs/escalas/regionais/orientacoes.md new file mode 100644 index 0000000..5f5aa93 --- /dev/null +++ b/docs/escalas/regionais/orientacoes.md @@ -0,0 +1,18 @@ +# Orientações Gerais + +--8<-- "orientacoes-gerais.md:primeiros-passos" +--8<-- "orientacoes-gerais.md:cdc" +--8<-- "orientacoes-gerais.md:participacao-apyb" + +## Sugestões (baseado em experiências prévias) + +--8<-- "orientacoes-gerais.md:local-evento" +--8<-- "orientacoes-gerais.md:preparando-local" +--8<-- "orientacoes-gerais.md:site" +--8<-- "orientacoes-gerais.md:credenciamento" +--8<-- "orientacoes-gerais.md:coffee-break" +--8<-- "orientacoes-gerais.md:caipyra" +--8<-- "orientacoes-gerais.md:kit-participante" +--8<-- "orientacoes-gerais.md:espaco-kids" +--8<-- "orientacoes-gerais.md:ingresso-organizacao" +--8<-- "orientacoes-gerais.md:programas-apoio" diff --git a/docs/escalas/regionais/times.md b/docs/escalas/regionais/times.md new file mode 100644 index 0000000..58946b7 --- /dev/null +++ b/docs/escalas/regionais/times.md @@ -0,0 +1,82 @@ +# Times e Organização + +A estrutura de times para eventos regionais é **similar à Python Brasil**, mas com equipes menores e funções acumuladas. + +## Times essenciais + +Para um evento regional, você precisa de **5-13 pessoas** distribuídas nos seguintes times: + +### Coordenação Geral (1-3 pessoas) +- Visão geral do evento +- Tomada de decisões estratégicas +- Relacionamento com APyB e patrocinadores principais +- **Dica**: escolha pessoas com experiência prévia em organização de eventos + +### Conteúdo (1-3 pessoas) +- Call for Papers (submissão de palestras) +- Avaliação e seleção de talks +- Definição da grade* e horários +- Keynotes* (palestrantes convidados) +- **Dica regional**: convide palestrantes da própria região para reduzir custos de deslocamento + +*Relembrando que os eventos da comunidade Python sempre prezam pela diversidade de palestrantes, seja em gênero, raça/etnia, orientação sexual, pessoas com deficiência. + +### Captação de Recursos (2-3 pessoas) +- Plano de patrocínio adaptado à realidade regional +- Contato com empresas locais e regionais +- Negociação de cotas e benefícios +- **Dica regional**: foque em empresas da região, que querem visibilidade local + +### Comunicação e Marketing (1-3 pessoas) +- Identidade visual do evento + - Dependendo do evento já foi definida a identidade visual e o mascote, conversar com as pessoas Kahunas anteriores sobre isso +- Redes sociais e divulgação + - Pegar com as pessoas Kahunas anteriores os perfis já criados para centralização e continuidade +- Site do evento + - A APyB fornece o domínio para o site do evento, converse com a diretoria sobre isso +- Relacionamento com a comunidade +- Divulgação em encontros, eventos e eventos regionais +- **Dica regional**: use a cultura e identidade regional na comunicação + +### Logística e Infraestrutura (1-3 pessoas) +- Local do evento + - Ver página "Processo e Governança" para a estimativa de pessoas na decisão do local, para ver se comporta +- Banners, backdrops (quando necessário) +- Audiovisual (som, projeção, gravação) +- Coffee break +- Impressos indicando para os participantes o local das palestras, tutoriais e sprints +- Credenciamento e suporte no dia +- **Dica regional**: priorize pessoas da cidade-sede para facilitar logística + +### Experiência do Participante (1-3 pessoas) +- Acessibilidade (Libras, rampas, banheiros) +- Incentivar os participantes a levar o Pyssaporte para ganhar o carimbo + - Organização do evento: falar com [@pyssaporte](https://www.instagram.com/pyssaporte/) sobre a confecção do carimbo +- Kit do participante (camisa, crachá, brindes) +- Brinde para Keynotes +- Sorteios durante o evento, caso algum patrocinador forneça +- Atividades de networking +- **Dica regional**: inclua elementos culturais da região (comida típica, música local) + +### Equipe Código de Conduta (CDC) (1-3 pessoas) +- Pessoas que não são necessariamente da organização (podem ser participantes) para lidar com queixas que podem surgir durante o evento +- Se possível, a equipe CDC ter uma camiseta de cor diferente de todos os outros + +*De qualquer forma é importante todas as pessoas da organização lerem o documento do CDC e saber como lidar em ocorrências + +## Funções acumuladas comuns + +Em eventos regionais, é comum uma pessoa acumular funções: + +- Coordenação + Conteúdo +- Captação + Financeiro +- Comunicação + Site +- Logística + Experiência + +## Equipe mínima viável + +Se não conseguir 10 pessoas, o mínimo é: + +- **3 pessoas** para coordenação, conteúdo e logística +- **5 pessoas** é o ideal para começar +- **10+ pessoas** para um evento confortável diff --git a/docs/ferramentas/index.md b/docs/ferramentas/index.md new file mode 100644 index 0000000..a02ef34 --- /dev/null +++ b/docs/ferramentas/index.md @@ -0,0 +1,6 @@ +# Ferramentas + +Ferramentas úteis para a organização de eventos Python. + +* [Pretix](pretix.md) + diff --git a/docs/ferramentas/pretix.md b/docs/ferramentas/pretix.md new file mode 100644 index 0000000..149effc --- /dev/null +++ b/docs/ferramentas/pretix.md @@ -0,0 +1,14 @@ +# Pretix + +## O que é +O [pretix](https://ingressos.python.org.br) é uma ferramenta opensource que a APyB disponibiliza para +os associados que desejam organizar eventos. +A ferramenta é hospedada pela APyB e pode ser utilizada de forma gratuíta. + +## Requisitos +Para mais informações sobre os requisitos para poder usar a ferramenta e encontrar os links acesse: +[Guia APyB](https://apyb.python.org.br/associados/guias/como-organizar-eventos) + + +## Como usar +TODO diff --git a/docs/historia/index.md b/docs/historia/index.md new file mode 100644 index 0000000..6df434d --- /dev/null +++ b/docs/historia/index.md @@ -0,0 +1,31 @@ +# História da Python Brasil + +A Python Brasil é o evento anual da comunidade Python brasileira. Organizado pela Associação Python Brasil (APyB) desde sua terceira edição, já foi conhecido como PyConDays (apenas na primeira edição, em Campinas, 2005), e como PyConBrasil, nome utilizado até a quarta edição. + +O evento tem como objetivos: + +- Ser o encontro da comunidade brasileira de Python +- Ser a porta de entrada nesta comunidade +- Financiar ações da APyB + +Nesta sessão estão disponíveis o resumo de cada Python Brasil: + +* [PyConBrasil / PyConDay 2005](pyconbrasil.md) +* [PyConBrasil 2006](pyconbrasil2.md) +* [PyConBrasil 2007](pyconbrasil3.md) +* [PyConBrasil 2008](pyconbrasil2008.md) +* [Python Brasil 2009](pythonbrasil5.md) +* [Python Brasil 2010](pythonbrasil6.md) +* [Python Brasil 2011](pythonbrasil7.md) +* [Python Brasil 2012](pythonbrasil8.md) +* [Python Brasil 2013](pythonbrasil9.md) +* [Python Brasil 2014](pythonbrasil10.md) +* [Python Brasil 2015](pythonbrasil11.md) +* [Python Brasil 2016](pythonbrasil12.md) +* [Python Brasil 2017](pythonbrasil13.md) +* [Python Brasil 2018](pythonbrasil14.md) +* [Python Brasil 2019](pythonbrasil15.md) +* [Python Brasil 2020](pythonbrasil16.md) +* [Python Brasil 2021](pythonbrasil17.md) +* [Python Brasil 2022](pythonbrasil18.md) +* [Python Brasil 2023](pythonbrasil19.md) diff --git a/docs/historia/pyconbrasil.md b/docs/historia/pyconbrasil.md new file mode 100644 index 0000000..6e3b82c --- /dev/null +++ b/docs/historia/pyconbrasil.md @@ -0,0 +1,51 @@ +# PyConBrasil / PyConDay 2005 + +## Informações Gerais + +| Item | Detalhe | +|------|---------| +| Nome Oficial | PyConDay | +| Local | Unicamp, Campinas, São Paulo | +| Data | 28/04/2005, 29/04/2005 | +| Organizador | Rodrigo Senra | + +## Números + +| Item | Valor | +|------|-------| +| Palestras | 14 | +| Palestrantes | N/D | +| Treinamentos | 0 | +| Inscritos | ~ 90 | +| Receita Inscrição | R$1.380,00 | +| Patrocinadores | 0 | +| Apoiadores | 1 | +| Receita Patrocínio | R$0,00 | + +## Resumo + +O PyConDay foi realizada no Centro de Computação da Unicamp, em 2005, sob a organização do Rodrigo Senra e Rubens Queiroz (responsável pela dicas-l) e contou com cerca de 90 participantes. + +Planejada inicialmente para ser um encontro de um dia, foi denomindada PyConDay, mas o evento se expandiu para dois dias de palestras e foi conhecido como 1o. PyConBrasil. + +## O Outro PyConDay + +Ainda no mesmo ano, no dia 18 de outubro, houve um evento de um dia, organizado pela equipe do SERPRO/RJ: Giuseppe Romagnoli, Maria-Prado Lima, Luis Guilherme Aldabalde, entre outros. Este evento se chamou PyConDay e foi realizado no Serpro RJ, mostrando o vigor da comunidade e a demanda por uma conferência de Python periódica e de abrangência regional. + +Este evento não é considerado **oficialmente** na contagem da PythonBrasil, mas é utilizado para a explicação do índice que parece começar em 1 no logotipo das edições mais recentes. -- ex: PythonBrasil[5] (deveria ser PythonBrasil[4]). + +## Inscrições + +| Categoria | Até 11/04/2005 | Até 18/04/2005 | Até 25/04/2005 | Depois de 26/04 | +|-----------|----------------|----------------|----------------|-----------------| +| Individual | 15,00 | 20,00 | 25,00 | 30,00 | + +> **Nota:** Todo o faturamento com inscrições foi revertido para a Casa de Repouso Bom Pastor. + +## Imagens do evento + +![Rodrigo Senra](../imagens/senra.jpg) + +![PyConDay](../imagens/pyconday.jpg) + +![Python Brasil 1](../imagens/pythonbrasil-1.jpg) diff --git a/docs/historia/pyconbrasil2.md b/docs/historia/pyconbrasil2.md new file mode 100644 index 0000000..2a09990 --- /dev/null +++ b/docs/historia/pyconbrasil2.md @@ -0,0 +1,43 @@ +# PyConBrasil 2006 + +## Informações Gerais + +| Item | Detalhe | +|------|---------| +| Nome Oficial | PyConBrasil 2006 | +| Local | Interlegis, Brasília, Distrito Federal | +| Data | 01/06/2006, 02/06/2006 | +| Organizador | Jean Rodrigo Ferri | + +## Números + +| Item | Valor | +|------|-------| +| Palestras | 16 | +| Palestrantes | N/D | +| Treinamentos | 8 | +| Inscritos | ~ 180 | +| Receita Inscrição | R$0,00 | +| Patrocinadores | 0 | +| Apoiadores | 0 | +| Receita Patrocínio | R$0,00 | + +## Resumo + +A PyConBrasil 2006 foi realizada no Interlegis, em Brasília, sob organização de Jean Rodrigo Ferri e sua equipe. Foram cerca de 180 participantes. + +Nessa edição foram incluídos os minicursos de quatro horas de duração em paralelo às palestras. + +Outra novidade foram as palestras-relâmpago, com cinco minutos de duração, que são tradicionais em eventos da comunidade Python ao redor do mundo. + +## Inscrições + +| Categoria | Até o evento | +|-----------|--------------| +| Individual | N/A | + +> **Nota:** As normas do Interlegis impedem a cobrança pelas inscrições bem como a comercialização de produtos. + +## Imagens + +![Python Brasil 2](../imagens/pythonbrasil-2.jpg) diff --git a/docs/historia/pyconbrasil2008.md b/docs/historia/pyconbrasil2008.md new file mode 100644 index 0000000..6182bdc --- /dev/null +++ b/docs/historia/pyconbrasil2008.md @@ -0,0 +1,129 @@ +# PyConBrasil 2008 + +## Informações Gerais + +| Item | Detalhe | +|------|---------| +| Nome Oficial | PyConBrasil 2008 | +| Local | UVA, Rio de Janeiro, Rio de Janeiro | +| Data | 18/09/2008, 19/09/2008, 20/09/2008 | +| Organizador | Luis Gustavo Neves | + +## Números + +| Item | Valor | +|------|-------| +| Palestras | 45 | +| Palestrantes | 35 | +| Treinamentos (3h) | 4 | +| Inscritos | ~350 | +| Receita Inscrição | N/D | +| Patrocinadores | 3 | +| Apoiadores | 3 | +| Receita Patrocínio | R$ 41.040 | + +## Resumo + +A PyConBrasil 2008 foi realizada no Rio de Janeiro, na Universidade Veiga de Almeida (UVA). + +O evento foi organizado por Luis Gustavo Neves com o apoio de uma grande comissão organizadora para execução: + +* Carlos Ferreira (Serpro) +* Cláudio Berrondo (INPI) +* Flávio Coelho (Fiocruz) +* Giuseppe Romagnolli (Serpro) +* John Edson (Gama Filho) +* Luiz Guilherme Aldabalde (Serpro) +* Mônica Teresa Aragon e Anderson Namen (UVA) + +Esta edição contou com palestrantes internacionais convidados como Keynote Speaker: Bruce Eckel e Alexander Limi, que tiveram sua vinda ao evento paga pela APyB e pelo faturamento do próprio evento. + +Esta edição trouxe duas grandes inovações: os Open Spaces, incentivados por Bruce Eckel, e o convite a um representante de outra linguagem de programação, neste caso, Roberto Ierusalimschy, criador da linguagem Lua. + +O evento contou com 350 inscritos e teve transmissão simultânea com média de 300 participantes online e pico de 500 participantes na palestra do Bruce Eckel. Ocorreram 45 palestras e 4 treinamentos em paralelo às palestras. Os patrocinadores disponibilizaram também um *lounge* junto a seus estandes, com internet disponível a todos. + +Foi realizada mais uma assembleia da APyB na qual foram eleitos novos representantes e feitas modificações no estatuto. + +**Programação:** + +As palestras e treinamentos ocorreram em três dias, conforme grade abaixo: +http://plone.python.org.br:8120/pycon/2008/sobre-o-evento/programacao + +**Keynotes speakers:** + +* Alexander Limi +* Bruce Eckel + +**Tivemos:** + +* Open Spaces (novidade) +* Keynotes Speakers (novidade) +* Palestra da linguagem convidada (novidade) +* Dojo (novidade) +* Transmissão simultânea +* Foto Oficial (http://plone.python.org.br:8120/pycon/2008/sobre-o-evento/fotos/pyconbrasil2008/) +* Filmagem (todas no YouTube da Python Brasil: https://www.youtube.com/results?search_query=pyconbrasil+2008) +* Tradução simultânea +* Agência Oficial (Nativa Brasil - travel & consulting) +* Lounge e stand de patrocinadores +* Kit do participante com bolsa de nylon, bloco, caneta, DVD (tutoriais de Python), camiseta e grade impressa + +## Comercialização + +A APyB decidiu continuar com o modelo de contratação de uma empresa para a gestão da parte comercial do evento. + +Para esta edição a empresa escolhida foi o ILTC -- Instituto de Lógica, Filosofia e Teoria da Ciência -- remunerada em 10% dos recursos obtidos durante o evento. + +## Inscrições + +| Categoria | Valor | +|-----------|-------| +| APyB / Estudantes | R$ 25 | +| SBC / Abraweb | R$ 35 | +| Individual | R$ 45 | + +## Patrocinadores + +| Patrocinador | Valor | +|--------------|-------| +| Serpro | R$ 20.000 | +| Globo.Com | R$ 10.000 | +| Locaweb | R$ 7.840 | + +## Apoiadores + +| Apoiador | Contribuição | +|----------|--------------| +| UVA | local do evento, infraestrutura, logística operacional, segurança, limpeza, apoio turístico, apoio de mídia | +| Simples Consultoria | Site do evento | +| Async | R$ 1.200 | +| Paradigma | R$ 1.000 | +| Softrent | R$ 1.000 | + +## Site do evento + +http://plone.python.org.br:8120/pycon/2008 + +Detalhes finais do evento - http://plone.python.org.br:8120/pycon/2008/saiba-mais/noticias/encerramento-da-pyconbrasil-2008 + +## Imagens + +http://plone.python.org.br:8120/pycon/2008/sobre-o-evento/fotos/pyconbrasil2008/ + +![PyConBrasil 2008 Oficial](../imagens/pyconbrasil2008-oficial.jpg) + +## Feedback dos participantes + +**"Não sou um Programador/Desenvolvedor mas usando Python fiz coisas que jamais faria em outras linguagens (...) Me senti em casa no evento, o pessoal da comunidade está de parabéns!"** +(Alan Porto) + +Observação: esse é parte do depoimento de Alan Porto, redator e revisor da revista Fedora Brasil que trouxe na edição seguinte uma matéria sobre a PyConBrasil 2008. A revista tem o objetivo de apresentar e divulgar o Fedora (GNU/Linux), além de desenvolver matérias e tutorias para ajudar os usuários mais leigos com a finalidade de quebrar o paradigma de que Linux é difícil. + +**"Brazilians are very warm and friendly, and PyConBrasil in Rio de Janeiro had over 300 very enthusiastic and committed Python programmers."** +(Bruce Eckel) + +Observação: texto retirado do blog de Bruce Eckel (www.BruceEckel.com), autor de Thinking in Java (Prentice-Hall, 1998, 2nd Edition, 2000, 3rd Edition, 2003, 4th Edition, 2005), the Hands-On Java Seminar CD ROM, Thinking in C++ (PH 1995; 2nd edition 2000, Volume 2 with Chuck Allison, 2003), C++ Inside & Out (Osborne/McGraw-Hill 1993), entre outros. Ele já fez centenas de apresentações pelo mundo, publicou em torno de 150 artigos em diversas revistas, é um membro fundador do comitê ANSI/ISO C++ e fala regularmente em conferências. + +**"Creio que Python deve ser utilizada como a primeira linguagem de programação a ser aprendida por estudantes de Ciência da Computação. É uma linguagem contemporânea, com uma sintaxe enxuta e um conjunto muito bem definido de estruturas de dados, de mecanismos de controle e de modularização, que facilitam em muito a utilização de metodologias de programação ágeis, muito importantes nas etapas iniciais da aprendizagem da programação. Python conta também com uma ampla coleção de módulos (bibliotecas) com interfaces sempre definidas de modo bem intuitivo, o que estimula em muito os alunos iniciantes a se aventurarem com segurança na pesquisa de novas aplicações."** + +(Antônio Carlos da Rocha Costa - Escola de Informática - Coord. Prog. de Pós-grad. Informática na Universidade Católica de Pelotas) diff --git a/docs/historia/pyconbrasil3.md b/docs/historia/pyconbrasil3.md new file mode 100644 index 0000000..0dd2b31 --- /dev/null +++ b/docs/historia/pyconbrasil3.md @@ -0,0 +1,63 @@ +# PyConBrasil 2007 + +## Informações Gerais + +| Item | Detalhe | +|------|---------| +| Nome Oficial | PyConBrasil[3] | +| Local | SOCIESC, Joinville, Santa Catarina | +| Data | 30/08/2007, 31/08/2007, 01/09/2007 | +| Organizador | Marco André Lopes | + +## Números + +| Item | Valor | +|------|-------| +| Palestras | 30 | +| Palestrantes | N/D | +| Treinamentos | 10 | +| Inscritos | 235 | +| Receita Inscrição | N/D | +| Patrocinadores | 5 | +| Apoiadores | 0 | +| Receita Patrocínio | R$51.500,00 | + +## Resumo + +A PyConBrasil[3] foi realizada em 2007, na SOCIESC, em Joinville/SC. + +O evento foi organizado por Marco André Lopes Mendes, que liderou uma equipe de voluntários e contratados para a realização do evento. + +Foram três dias de evento, mais uma noite de pré-evento, quando foi realizada a Assembléia da Associação Python Brasil para a eleição de uma nova diretoria. O evento contou com de 235 inscritos. + +O programa continha 30 palestras (50 se contarmos as palestras-relâmpago que faziam parte da grade) e 10 minicursos. + +Esta edição foi a primeira a contar com um palestrante internacional, Nate Aune, e uma outra novidade foi a realização de uma feira de expositores. + +## Comercialização + +Diferentemente do que havia ocorrido em Campinas e em Brasília, esta edição do evento contou com a presença de patrocinadores. + +A comercialização foi realizada pela empresa Solucto, remunerada em 25% do valor total dos patrocínios. + +## Inscrições + +| Categoria | Valor | +|-----------|-------| +| Estudantes | 15,00 | +| SBC / Abraweb | 20,00 | +| Individual | 30,00 | + +## Patrocinadores + +| Patrocinador | Valor | +|--------------|-------| +| INdT | R$20.000,00 | +| Intel | R$10.000,00 | +| PyTown | R$10.000,00 | +| Serpro | R$6.500,00 | +| Simples Consultoria | R$5.000,00 | + +## Imagens + +![Python Brasil 3](../imagens/pythonbrasil-3.jpg) diff --git a/docs/historia/pythonbrasil10.md b/docs/historia/pythonbrasil10.md new file mode 100644 index 0000000..7414d85 --- /dev/null +++ b/docs/historia/pythonbrasil10.md @@ -0,0 +1,87 @@ +# Python Brasil 2014 + +## Informações Gerais + +| Item | Detalhe | +|------|---------| +| Nome Oficial | PythonBrasil[10] | +| Local | Hotel Armação, Porto de Galinhas, Recife | +| Data | 04/11/2014, 05/11/2014, 06/11/2014, 07/11/2014, 08/11/2014, 09/11/2014 | +| Organizador | Renato Oliveira | + +## Números + +| Item | Valor | +|------|-------| +| Palestras | 33 | +| Palestrantes | ~34 | +| Keynotes | 5 | +| Treinamentos | 10 | +| Inscritos | ~350 | +| Receita Inscrição | NDA | +| Patrocinadores | 12 | +| Apoiadores | 10 | +| Receita Patrocínio | NDA | + +## Resumo + +Foi a primeira vez que uma Python Brasil acontece na região Nordeste, e especialmente foi feita em uma das mais belas praias do Brasil, em Porto de Galinhas. + +Os tutoriais foram feitos em Recife, na Porto Mídia. A conferência aconteceu no Hotel Armação, onde ocorreu o Sprint, que também ocorreu a confraternização dos participantes pós-evento. + +No último dia houve um tour programado de atividades, inclusos passeio de Jangada, Mergulho com cilindro, passeio de buggy e standup paddle. + +Tivemos keynotes muito importantes como: + +- Fernando Perez, criador do Ipython, falando sobre como funciona a ferramenta, as novidades e o que ela pode fazer; +- Lynn Root, engenheira do Spotify, falando um pouco sobre como Python é utilizado dentro da empresa; +- Daniel Greenfield, o Pydanny, comentando sobre suas experiências em trabalhar em grandes projetos, como na NASA e no Eventbrite, empresa atual em que trabalha; +- Alex Gaynor, engenheiro do Rackspace, comentando de suas experiências em colaborar em projetos open source, o interior do Python e diversas coisas mais; +- José Valim, palestrante convidado de outra linguagem, falando um pouco sobre o Elixir, uma linguagem de programação funcional que o próprio criou, comentando sobre o que levou a criação da linguagem, o futuro dela e também o que ela pode oferecer aos desenvolvedores. + +O ganhador do prêmio Dorneles Treméa foi o Osvaldo Santana Neto. + +Site da conferência: http://2014.pythonbrasil.org.br/index.html + +## Inscrições + +NDA + +## Patrocinadores + +| Patrocinador | Cota | +|--------------|------| +| Google | Diamante | +| Nic.br - CGI.br | Platina | +| LuizaLabs | Ouro | +| Evolux | Ouro | +| Globo.com | Ouro | +| PSF | Ouro | +| Rackspace | Prata | +| ZNC Sistemas | Prata | +| Python.pro | Prata | +| Serpro | Bronze | +| Github | Bronze | + +## Apoiadores + +| Apoiador | Contribuição | +|----------|--------------| +| Welcome to the Django | NDA | +| Pycharm | NDA | +| Two Scoops of Django | NDA | +| Eventbrite | NDA | +| Porto Digital | NDA | +| Porto Mídia | NDA | +| Open Mining | NDA | +| O'Reilly | NDA | +| Editora Novatec | NDA | +| Citi | NDA | + +## Imagens + +https://www.flickr.com/photos/pythonbrasil/ + +## Vídeos + +Infelizmente houve um problema grave com a produtora responsável pela gravação dos vídeos da conferência, com isso os vídeos foram perdidos. diff --git a/docs/historia/pythonbrasil11.md b/docs/historia/pythonbrasil11.md new file mode 100644 index 0000000..ac4aa7d --- /dev/null +++ b/docs/historia/pythonbrasil11.md @@ -0,0 +1,81 @@ +# Python Brasil 2015 + +## Informações Gerais + +| Evento | Data | Local | +|--------|------|-------| +| PythonBrasil[11] | 07/11 a 11/11/2015 | Novotel - São José dos Campos | +| Treinamentos | 07/11 e 08/11/2015 | Fatec São José dos Campos - Prof. Jessen Vidal | +| Conferências | 09/11 a 10/11/2015 | Novotel - São José dos Campos | +| Festa | 09/11/2015 | Kart Center | +| Sprint da Conferência | 11/11/2015 | Parque tecnológico - São José dos Campos | +| Organizador | 07/11 a 11/11/2015 | Renzo Nuccitelli | + +## Números + +| Item | Valor | +|------|-------| +| Palestras | 36 | +| Palestrantes | ~38 | +| Keynotes | 5 | +| Treinamentos | 26 | +| Inscritos | 395 | +| Receita Inscrição | 18.000,00 | +| Mulheres no evento | ~12% | +| Inscritos no treinamento | ~200 | +| Patrocinadores | 16 | +| Apoiadores | 3 | +| Receita Patrocínio | ~73.600,00 | + +## Resumo + +O evento da Python Brasil volta ao Estado de São Paulo, só que dessa vez organizado pela comunidade do Vale do Parnaíba, em São José dos Campos. + +Site da conferência: http://pythonbrasil.github.io/pythonbrasil11-site/ + +Foi organizada por uma equipe de voluntários. + +**Keynotes:** + +- Bryan Van de Ven (Continuum Analytics, Bokeh) +- David Beazley (Author of Python Essential Reference) +- Luiza Nunes (ThoughtWorks Brazil) +- Rafael Gonçalves (FDTE) +- Tânia Andrea (ZNC Sistemas) + +**Prêmio Dorneles Treméa:** Tania Andreaa + +## Patrocinadores + +| Patrocinador | Cota | +|--------------|------| +| LuizaLabs | Diamante | +| Globo.com | Ouro | +| IBM | Ouro | +| Scrapinghub | Ouro | +| Loggi | Ouro | +| Thoughtworks | Silver | +| Toptal | Prata | +| Evolux | Prata | +| Axado | Prata | +| Imax | Prata | +| Designa | Prata | +| ZNC Sistemas | Prata | +| Pythonpro | Prata | +| Continuum Analytics | Prata | +| Python Software Foundation | Prata | +| Django | Bronze | + +## Apoiadores + +| Apoiador | Contribuição | +|----------|--------------| +| Fatec São José dos Campos | Apoio com os tutoriais | +| Thoughtworks | Doação de livros para sorteio | +| Novatec | Doação de livros para sorteio | + +## Vídeos + +- Vídeos oficiais: https://www.youtube.com/user/pythonbrazil +- Fatos e fotos - Primeiro dia: https://www.youtube.com/watch?v=jq9rVXorG_w +- Fatos e fotos - Segundo dia: https://www.youtube.com/watch?v=6Joe6JS9sBM diff --git a/docs/historia/pythonbrasil12.md b/docs/historia/pythonbrasil12.md new file mode 100644 index 0000000..7533f74 --- /dev/null +++ b/docs/historia/pythonbrasil12.md @@ -0,0 +1,35 @@ +# Python Brasil 2016 + +## Informações Gerais + +| Item | Detalhe | +|------|---------| +| Nome Oficial | PythonBrasil[12] | +| Local | Centro de Convenções de Recife | +| Data | 13/10/2016 a 16/10/2016 | +| Organizador | Luciano Ramalho | + +## Números + +| Item | Valor | +|------|-------| +| Palestras | 50+ | +| Palestrantes | 40+ | +| Keynotes | 6 | +| Treinamentos | 15+ | +| Inscritos | 400+ | +| Patrocinadores | 15+ | + +## Resumo + +A Python Brasil 2016 aconteceu em Recife, Pernambuco. Foi um evento marcante com a participação de grandes nomes da comunidade Python internacional. + +Site da conferência: http://2016.pythonbrasil.org.br/ + +## Patrocinadores + +Diversos patrocinadores apoiaram o evento, incluindo Google, PSF, e empresas locais. + +## Keynotes + +O evento contou com keynotes internacionais e nacionais de grande destaque. diff --git a/docs/historia/pythonbrasil13.md b/docs/historia/pythonbrasil13.md new file mode 100644 index 0000000..aa2f730 --- /dev/null +++ b/docs/historia/pythonbrasil13.md @@ -0,0 +1,28 @@ +# Python Brasil 2017 + +## Informações Gerais + +| Item | Detalhe | +|------|---------| +| Nome Oficial | PythonBrasil[13] | +| Local | NDA | +| Data | NDA | +| Organizador | Igor Santos | + +## Números + +| Item | Valor | +|------|-------| +| Palestras | NDA | +| Palestrantes | NDA | +| Keynotes | NDA | +| Treinamentos | NDA | +| Inscritos | NDA | +| Receita Inscrição | NDA | +| Patrocinadores | NDA | +| Apoiadores | NDA | +| Receita Patrocínio | NDA | + +## Resumo + +O evento será realizado em Outubro de 2017, em Belo Horizonte, Minas Gerais diff --git a/docs/historia/pythonbrasil14.md b/docs/historia/pythonbrasil14.md new file mode 100644 index 0000000..3894cfc --- /dev/null +++ b/docs/historia/pythonbrasil14.md @@ -0,0 +1,51 @@ +# Python Brasil 2018 + +## Informações Gerais + +| Item | Detalhe | +|------|---------| +| Nome Oficial | Python Brasil [14] | +| Local | Natal, Rio Grande do Norte | +| Data | 17 a 22 de outubro de 2018 | +| Big Kahuna | Italo Rossi | + +## Números + +### Participantes + +| Item | Valor | +|------|-------| +| Inscritos | 784 | +| Mulheres inscritas | 153 | +| Palestrantes | 111 | +| Palestrantes mulheres | 24 | + +### Atividades + +| Item | Valor | +|------|-------| +| Palestras | ~120 | +| Trilhas | 4 | +| Palestras Relâmpago | ~30 | +| Tutoriais | 5 | +| Sprint | 5 projetos em 1 dia de Sprint | +| Django Girls | Sim | + +### Financeiro + +| Item | Valor | +|------|-------| +| Receita Total | R$ 196.212,87 | +| Receita Inscrições | R$ 103.755,00 | +| Receita Patrocinadores | R$ 92.457,87 | +| Número de Patrocinadores | 7 | + +## Patrocinadores + +* Globo.com +* Facebook +* Sebrae +* Labcodes +* MangaiLabs +* Thoughtworks +* Python Software Foundation diff --git a/docs/historia/pythonbrasil15.md b/docs/historia/pythonbrasil15.md new file mode 100644 index 0000000..893bf0c --- /dev/null +++ b/docs/historia/pythonbrasil15.md @@ -0,0 +1,94 @@ +# Python Brasil 2019 + +## Informações Gerais + +| Item | Detalhe | +|------|---------| +| Nome Oficial | Python Brasil 2019 | +| Local | Ribeirão Preto, São Paulo | +| Data | 23 a 28 de outubro de 2019 | +| Big Kahuna | Danilo Shiga, Danilo Martins | + +## Números + +### Participantes + +| Item | Valor | +|------|-------| +| Inscritos | 893 | +| Mulheres inscritas | 126 | +| Palestrantes | 64 | +| Palestrantes mulheres | 28 | + +### Atividades + +| Item | Valor | +|------|-------| +| Palestras | 60 | +| Trilhas | 4 | +| Palestras Relâmpago | ~36 | +| Tutoriais | 19 | +| Sprint | 1 dia de Sprint | +| Django Girls | Sim | + +### Financeiro + +| Item | Valor | +|------|-------| +| Receita Total | R$ 181.998,45 | +| Receita Inscrições | R$ 89.540,58 | +| Receita Patrocinadores | R$ 198.365,00 | +| Número de Patrocinadores | 11 | + +## Patrocinadores + +| Patrocinador | Cota | +|--------------|------| +| Github | Diamante | +| Grupo Zap | Platina | +| PSF | Platina | +| Loadsmart | Ouro | +| Olist | Ouro | +| Stoodi | Ouro | +| Globo.com | Ouro | +| Evolux | Prata | +| Whatsgood | Prata | +| LabCodes | Prata | +| iDtrust | Bronze | + +## Voluntários + +* Danilo Shiga (Ribeirão Preto) +* Danilo Martins (Ribeirão Preto) +* Marco Rougeth (Dublin) +* Hugo Penna (Ribeirão Preto) +* Murilo Viana (Ribeirão Preto) +* André Pastore (Florianópolis) +* Ana Dulce Padovan (São Carlos) +* Jessica Temporal (São Paulo) +* Tadeu Mesquita (Ribeirão Preto) +* Zeca Figueiredo (Ribeirão Preto) +* André Girol (Ribeirão Preto) +* Júlia Carmona (Ribeirão Preto) +* André Ferreira (Ribeirão Preto) +* Dênis Germano (Ribeirão Preto) +* Bárbara Moraes (Ribeirão Preto) +* Rodrigo Oliveira (Curitiba) +* Johnny Michel (Natal) +* Daniel Bastos (Joinville) +* Carlos Lenhz (Ribeirão Preto) + +## Keynotes + +* Carol Willing +* Débora Azevedo +* Felipe de Moraes +* Laís Varejão +* Lorena Mesa +* Luciano Ramalho + +## Prêmio Dorneles Treméa & Jean Ferri + +* Leonardo Rochael +* Álvaro Justen "Turicas" +* PyLadies São Paulo diff --git a/docs/historia/pythonbrasil16.md b/docs/historia/pythonbrasil16.md new file mode 100644 index 0000000..2b212f6 --- /dev/null +++ b/docs/historia/pythonbrasil16.md @@ -0,0 +1,37 @@ +# Python Brasil 2020 + +## Informações Gerais + +| Item | Detalhe | +|------|---------| +| Nome Oficial | Python Brasil 2020 | +| Local | Online | +| Data | 02 a 08 de novembro de 2020 | +| Big Kahuna | Ana Dulce | + +## Números + +### Participantes + +| Item | Valor | +|------|-------| +| Inscritos | 7.056 | +| Homens inscritos | 5.098 | +| Mulheres inscritas | 1.777 | +| Não-binárie inscrites | 32 | +| outros inscritos | 4 | +| Preferiu não responder | 145 | + +## Keynotes + +* Melissa Weber Mendonça +* Diana Rodriguez +* Thais Viana +* Álvaro Justen (Turicas) +* Ana Paula Gomes + +## Prêmio Dorneles Treméa & Jean Ferri + +* Débora Azevedo +* Felipe de Morais +* Mário Sérgio diff --git a/docs/historia/pythonbrasil17.md b/docs/historia/pythonbrasil17.md new file mode 100644 index 0000000..f3ec91f --- /dev/null +++ b/docs/historia/pythonbrasil17.md @@ -0,0 +1,46 @@ +# Python Brasil 2021 + +## Informações Gerais + +| Item | Detalhe | +|------|---------| +| Nome Oficial | Python Brasil 2021 | +| Local | Online | +| Data | 11 a 17 outubro de 2021 | +| Big Kahuna | Alynne Ferreira | + +## Números + +### Participantes + +| Item | Valor | +|------|-------| +| Inscritos | 6.442 | +| Homens inscritos | 4.747 | +| Mulheres inscritas | 1.521 | +| Não-binárie inscrites | 43 | +| outros inscritos | 2 | +| Preferiu não responder | 129 | + +### Financeiro + +| Item | Valor | +|------|-------| +| Receita Total | R$ 273.051,52 | +| Receita Inscrições | R$ 0,00 | +| Receita Patrocinadores | R$ 273.051,52 | +| Número de Patrocinadores | 7 | + +## Keynotes + +* Kizzy Terra e Hallison Paz +* Eduardo Cuducos +* Anicely Santos +* Gabi Cavalcante +* Yasodara Córdova + +## Prêmio Dorneles Treméa & Jean Ferri + +* Eduardo Mendes (Dunossauro) +* Jessica Temporal +* Letícia Portella diff --git a/docs/historia/pythonbrasil18.md b/docs/historia/pythonbrasil18.md new file mode 100644 index 0000000..3b54c93 --- /dev/null +++ b/docs/historia/pythonbrasil18.md @@ -0,0 +1,49 @@ +# Python Brasil 2022 + +## Informações Gerais + +| Item | Detalhe | +|------|---------| +| Nome Oficial | Python Brasil 2022 | +| Local | Presencial && Online | +| Data | 17 a 23 de Outubro 2022 | +| Big Kahuna | Juliany Raiol | + +## Números + +### Participantes + +| Totais | online | Presencial | +|--------|--------|------------| +| Inscritos | 2553 | 576 | +| Homens inscritas | 1853 | 385 | +| Mulheres inscritas | 655 | 174 | +| Não-Bináre inscrites | 16 | 7 | +| Outros inscritos | 1 | 1 | +| Preferiu não responder | 46 | 9 | + +### Patrocinadores + +| Quantidade | Cota | +|------------|------| +| 1 | Ouro | +| 5 | Bronze | +| 3 | Cupuaçu | +| 6 | Cobre | + +## Keynotes + +* Eduardo Mendes +* Elloá B. Guedes +* Eulanda Miranda +* Guilherme Felitti +* Leticia Portella +* Lidiane Monteiro +* Mariatta +* Valcléia Solidade + +## Prêmio Dorneles Treméa & Jean Ferri + +* Bianca Rosa +* Lidiane Monteiro +* Melissa Weber diff --git a/docs/historia/pythonbrasil19.md b/docs/historia/pythonbrasil19.md new file mode 100644 index 0000000..17f64af --- /dev/null +++ b/docs/historia/pythonbrasil19.md @@ -0,0 +1,46 @@ +# Python Brasil 2023 + +## Informações Gerais + +| Item | Detalhe | +|------|---------| +| Nome Oficial | Python Brasil 2023 | +| Local | Presencial && Online | +| Data | 30 de outubro á 05 de novembro de 2023 | +| Big Kahuna | Adriano Margarin | + +## Números + +### Participantes + +| Item | Valor | +|------|-------| +| Inscritos | 313 | + +### Patrocinadores + +| Quantidade | Cota | +|------------|------| +| 1 | Diamante | +| 3 | Prata | +| 1 | Bronze | +| 1 | Cobre | +| 1 | Apoio | + +## Keynotes + +* Julio Biason +* Filipe Cifali +* Gabriela Oliveira +* Jeferson Fernando +* Andreza Rocha +* Érico Andrei + +## Prêmio Dorneles Treméa & Jean Ferri + +* JS Bueno +* Juliana Karoline +* Alynne Ferreira +* Ryllari Costa +* Rafael Fontenelle +* Ana Cecília Vieira diff --git a/docs/historia/pythonbrasil5.md b/docs/historia/pythonbrasil5.md new file mode 100644 index 0000000..443d427 --- /dev/null +++ b/docs/historia/pythonbrasil5.md @@ -0,0 +1,71 @@ +# Python Brasil 2009 + +## Informações Gerais + +| Item | Detalhe | +|------|---------| +| Nome Oficial | PythonBrasil[5] | +| Local | UCS, Caxias do Sul, Rio Grande do Sul | +| Data | 10/09/2009, 11/09/2009, 12/09/2009 | +| Organizador | Dorneles Treméa | + +## Números + +| Item | Valor | +|------|-------| +| Palestras | 26 | +| Palestrantes | N/D | +| Keynotes | 2 | +| Treinamentos | 9 | +| Inscritos | 132 | +| Receita Inscrição | N/D | +| Patrocinadores | #TODO | +| Apoiadores | #TODO | +| Receita Patrocínio | R$16.250,00 | + +## Resumo + +Em 2009 o nome sofre alteração e temos a PythonBrasil [5], a quinta edição do evento, realizada em Caxias do Sul, na UCS, Universidade de Caxias do Sul, durante os dias 10, 11 e 12 de Setembro de 2009. + +O Big Kahuna foi Dorneles Treméa, contando com o apoio da equipe da UCS. + +Jacob Kaplan-Moss, co-criador do Django, e Collin Winter, engenheiro do Google foram os palestrantes internacionais deste ano. + +Gustavo Niemeyer, desenvolvedor Python, e Rodrigo Bamboo de Oliveira, criador da linguagem Boo também estiveram presentes. + +Neste ano as seções de OpenSpaces passaram a fazer parte da programação oficial do evento. + +Foi realizada a assembléia geral da APyB e eleita a nova diretoria para o biênio 2010-2011. + +## Comercialização + +Seguindo o modelo dos anos anteriores, para a edição de Caxias do Sul foi contratada a Diaspar Serviços de Informações LTDA como empresa responsável pela comercialização do evento. + +A remuneração da empresa foi de 15% sobre o faturamento proveniente de cotas de patrocínio. + +## Inscrições + +| Categoria | Até 04/09/2009 | Até 11/09/2009 | Até 17/09/2009 | No evento | +|-----------|----------------|----------------|----------------|-----------| +| APyB /Estudantes | 25,00 | 32,00 | 40,00 | 47,00 | +| SBC / Abraweb | 35,00 | 45,00 | 56,00 | 66,00 | +| Individual | 45,00 | 58,00 | 72,00 | 85,00 | + +> **Nota:** Parte da receita de cada ingresso (R$5,00) comercializado foi revertido para a ONG 'Lar São Francisco de Assis', entidade de auxílio à terceira idade, da cidade de Caxias do Sul. + +## Patrocinadores + +| Patrocinador | Valor | +|--------------|-------| +| INdT | R$5.000,00 | +| Globo.Com | R$5.000,00 | +| SERPRO | R$5.000,00 | +| Propus | R$1.250,00 | + +## Apoiadores + +#TODO + +## Imagens + +![Python Brasil 5](../imagens/pythonbrasil-5.jpg) diff --git a/docs/historia/pythonbrasil6.md b/docs/historia/pythonbrasil6.md new file mode 100644 index 0000000..7c7b750 --- /dev/null +++ b/docs/historia/pythonbrasil6.md @@ -0,0 +1,84 @@ +# Python Brasil 2010 + +## Informações Gerais + +| Item | Detalhe | +|------|---------| +| Nome Oficial | PythonBrasil[6] | +| Local | UFPR, Curitiba, Paraná | +| Data | 21/10/2010, 22/10/2010, 23/10/2010 | +| Organizador | Ramiro Batista da Luz | + +## Números + +| Item | Valor | +|------|-------| +| Palestras | 55 | +| Palestrantes | 52 | +| Keynotes | 2 | +| Treinamentos | 6 | +| Inscritos | 250 | +| Receita Inscrição | N/D | +| Patrocinadores | 5 | +| Apoiadores | 9 | +| Receita Patrocínio | R$21.900,00 | + +## Resumo + +A Associação Python Brasil promoveu entre os dias 21 e 23 de outubro, na Universidade Federal do Paraná (UFPR) em Curitiba (PR), a 6a edição da Python Brasil, Encontro Brasileiro da Comunidade Python. + +O Big Kahuna foi Ramiro Batista da Luz, contando com apoio de uma comissão formada por Osvaldo Santana, Arthur Furlan e Paulo Henrique Santana. + +A cerimônia de abertura foi realizada no dia 21 de outubro de 2010, com a participação Dorneles Treméa presidente da Associação Python Brasil à época do evento, Ramiro Batista da Luz e Luis Carlos Erpen de Bona representante do Departamento de Informática da UFPR. + +Ao todo foram 49 palestras divididas em 2 auditórios, além de 6 mini-cursos e diversas palestras relâmpagos durante os 3 dias de evento. + +Como keynotes do evento foram convidados Leah Culver, co-fundadora e principal desenvolvedora da rede social e site de micro-blogging Pownce, e Facundo Batista, um dos líderes da PyAr, Core-Developer do Python e membro da Python Software Foundation. + +Inicialmente estava prevista a participação de Ian Bicking, membro conhecido da comunidade Python, mas que por motivos familiares teve que declinar do convite. + +O representante de outra linguagem foi Fábio Akita que discorreu sobre Ruby. + +Durante o evento foi realizada a assembléia geral da APyB onde foram eleitos novos conselheiros e foi definida a sede da edição seguinte da PythonBrasil. + +## Comercialização + +Assim como a edição de Caxias do Sul, a comercialização do evento foi realizada pela Diaspar Serviços de Informações LTDA. + +A remuneração da empresa foi de 25% sobre o faturamento proveniente de cotas de patrocínio + +## Inscrições + +| Categoria | Até 31/07/2010 | Até 31/08/2010 | Até 30/09/2010 | Depois de 01/10 | +|-----------|----------------|----------------|----------------|-----------------| +| APyB /Estudantes | 25,00 | 32,00 | 40,00 | 47,00 | +| SBC / Abraweb | 35,00 | 45,00 | 56,00 | 66,00 | +| Individual | 45,00 | 58,00 | 72,00 | 85,00 | + +## Patrocinadores + +| Patrocinador | Valor | +|--------------|-------| +| Globo.Com | R$10.000,00 | +| SERPRO | R$5.000,00 | +| Liberiun | R$3.900,00 | +| LZT | R$2.000,00 | +| Caelum | R$1.000,00 | + +## Apoiadores + +| Apoiador | Contribuição | +|----------|--------------| +| APyB | Organização / Temário | +| Simples Consultoria | Web site do evento | +| Tríveos | Divulgação e brindes | +| Elaborata | Divulgação e banners | +| UFPR | Apoio institucional | +| CEI - UFPR | Apoio à organização | +| Rev. Espírito Livre | Apoio Mídia | +| Linux New Media | Apoio Mídia | +| 91 Radio Rock | Apoio Mídia | + +## Imagens + +![Python Brasil 6](../imagens/pythonbrasil6.jpg) diff --git a/docs/historia/pythonbrasil7.md b/docs/historia/pythonbrasil7.md new file mode 100644 index 0000000..40890f8 --- /dev/null +++ b/docs/historia/pythonbrasil7.md @@ -0,0 +1,94 @@ +# Python Brasil 2011 + +## Informações Gerais + +| Item | Detalhe | +|------|---------| +| Nome Oficial | PythonBrasil[7] | +| Local | AMCHAM Business Center, São Paulo, São Paulo | +| Data | 28/09/2011 (cursos), 29/09/2011 (conf), 30/09/2011 (conf), 01/10/2011 (conf) | +| Organizador | Érico Andrei | + +## Números + +| Item | Valor | +|------|-------| +| Palestras | 80 | +| Palestrantes | 65 | +| Keynotes | 6 | +| Treinamentos | 4 | +| Inscritos | 340 | +| Receita Inscrição | R$29.640,11 | +| Patrocinadores | 11 | +| Apoiadores | 9 | +| Receita Patrocínio | R$75.650,00 | + +## Resumo + +Para a edição de 2011 foi proposto um novo modelo de organização em que a APyB continuaria responsável pela gestão do temário do evento mas as receitas e despesas da PythonBrasil seriam geridas pelo organizador, que repassaria 15% do valor arrecadado com as inscrições. + +O Big Kahuna da PythonBrasil[7] foi Érico Andrei que organizou o evento através da empresa Diaspar Serviços de Informações LTDA. + +Foram 6 keynotes speakers convidados para o evento: + +* Wesley Chun (Google) +* Alan Runyan (Enfold Systems, Plone Foundation) +* Steve Holden (Python Software Foundation / HoldenWeb) +* Gustavo Niemeyer (Canonical, Python Core Developer) +* Jim Fulton (Zope Corporation) +* Maciej Fijalkowski (Pypy) + +E também contamos com a presença de David Edelsohn, mantenedor do GCC, que se inscreveu no evento como participante e nos brindou com uma palestra sobre comunidades. + +Com o objetivo de reduzir os casos de palestrantes que não compareciam no evento para ministrarem suas apresentações foi instituída a cobrança da taxa de inscrição para os palestrantes. O resultado foi melhor que o esperado com apenas duas das palestras tendo que ser alteradas -- de palestrantes que estavam presentes ao evento e que cederam seu espaço para outra pessoa ou por problemas de saúde -- e com a presença de todos os palestrantes inscritos. + +## Plone Symposium South America + +Em conjunto com a PythonBrasil[7] foi realizada a terceira edição do Plone Symposium South America. + +Inicialmente os dois eventos seriam realizados em sequência, com a PythonBrasil sucedendo o PSSA, mas objetivando a redução de custos da PythonBrasil a organização decidiu pela união dos eventos. + +## Inscrições + +| Categoria | Até 30/06/2011 | Até 30/08/2011 | Até 26/09/2011 | No evento | +|-----------|----------------|----------------|----------------|-----------| +| Membros APyB | 90,00 | 135,00 | 162,00 | 180,00 | +| Estudante | 100,00 | 150,00 | 180,00 | 200,00 | +| Individual | 150,00 | 225,00 | 270,00 | 300,00 | +| Corporativo | 200,00 | 300,00 | 360,00 | 400,00 | +| Governo | 400,00 | 400,00 | 400,00 | 400,00 | +| Palestrante | 100,00 | 100,00 | 100,00 | 100,00 | + +## Patrocinadores + +| Patrocinador | Valor | +|--------------|-------| +| Globo.com | R$30.000,00 | +| Simples Consultoria | R$20.000,00 | +| Liberiun | R$5.750,00 | +| SERPRO | R$5.000,00 | +| LZT | R$4.800,00 | +| PyTown | R$2.800,00 | +| Globalcode | R$2.500,00 | +| Bitbucket | R$2.300,00 | +| GoNow | R$1.500,00 | +| Proge | R$1.000,00 | + +## Apoiadores + +| Apoiador | Contribuição | +|----------|--------------| +| APyB | Organização / Temário | +| PSF | USD 1600 / Brindes | +| Plone Foundation | USD 2500 | +| Google | Wesley Chun | +| Mozilla | Brindes | +| PyAr | Apoio a Organização | +| Menttes | Apoio Plone Symposium | +| Editora Novatec | Divulgação / Livros | +| Rev. Espírito Livre | Apoio Mídia | +| Linux New Media | Apoio Mídia | + +## Imagens + +![Python Brasil 7](../imagens/pythonbrasil7.jpg) diff --git a/docs/historia/pythonbrasil8.md b/docs/historia/pythonbrasil8.md new file mode 100644 index 0000000..bf16ec4 --- /dev/null +++ b/docs/historia/pythonbrasil8.md @@ -0,0 +1,92 @@ +# Python Brasil 2012 + +## Informações Gerais + +| Item | Detalhe | +|------|---------| +| Nome Oficial | PythonBrasil[8] | +| Local | Centro de convenções SulAmérica, Cidade Nova, Rio de Janeiro | +| Data | 21/11/2012, 22/11/2012, 23/11/2012, 24/11/2012 | +| Organizador | Tatiana Al-Chueyr e Álvaro Justen | + +## Números + +| Item | Valor | +|------|-------| +| Palestras | 48 | +| Palestrantes | 40 | +| Keynotes | 6 | +| Treinamentos | 11 | +| Inscritos | 345 | +| Receita Inscrição | 34.000,00 | +| Patrocinadores | 12 | +| Apoiadores | 11 | +| Receita Patrocínio | R$80.240,00 | + +## Resumo + +A Python Brasil é recebida pelo Rio de Janeiro pela segunda vez, dessa vez organizado pela Tatiana Al-Chueyr e Álvaro Justen "Turicas", acontecendo os tutoriais na FGV (Faculdade Getúlio Vargas) e as palestras no Centro de convenções SulAmérica. + +Tivemos como Keynotes: + +- web2py: Web Development Should be Easy (Massimo Di Pierro) +- Python Packaging (Tarek Ziade) +- Optimize Performance and Scalability with Parallelism and Concurrency (Bob Hancock) +- Stepping Through CPython (Larry Hastings) +- "import wx": a Tale of Neverending GUI Power (Andrea Gavana) +- Clojure - em busca da simplicidade (Pedro Teixeira) + +E tivemos como ganhadores do Prêmio Dorneles Trémea o Érico Andrei e Marcel Caraciolo + +## Inscrições + +NDA + +## Patrocinadores + +| Patrocinador | Cota | +|--------------|------| +| Globo.com | Diamante | +| Python Software Foundation | Ouro | +| R18 Tecnologia e Comunicação | Ouro | +| Serpro | Ouro | +| Titans Group | Ouro | +| Loogica | Prata | +| Dekode | Prata | +| Web2py | Prata | +| Simples Consultoria | Prata | +| Enthought | Prata | +| Curto Café | Prata | +| ZNC | Prata | + +## Apoiadores + +| Apoiador | Contribuição | +|----------|--------------| +| EMAp/FGV | NDA | +| Novatec Editora | NDA | +| O'Reilly Media | NDA | +| Pearson | NDA | +| Maersk Oil | NDA | +| Guidebook | NDA | +| Casa do código | NDA | +| Futura Soluções Ambientais | NDA | +| Mozilla | NDA | +| Pycursos | NDA | +| APyB | NDA | +| CobraTeam | NDA | +| PythOnRio | NDA | +| Grupython UFLA | NDA | +| GrUPy-DF | NDA | +| Pyladies | NDA | + +## Imagens + +![Python Brasil 8](../imagens/pythonbrasil8.jpg) +![Python Brasil 8 - 2](../imagens/pythonbrasil8-2.jpg) + +## Slideshare + +http://pt.slideshare.net/pythonbrasil + +https://web.archive.org/web/20121204012708/http://2012.pythonbrasil.org.br/ diff --git a/docs/historia/pythonbrasil9.md b/docs/historia/pythonbrasil9.md new file mode 100644 index 0000000..e582499 --- /dev/null +++ b/docs/historia/pythonbrasil9.md @@ -0,0 +1,90 @@ +# Python Brasil 2013 + +## Informações Gerais + +| O que? | Quando? | Onde? | +|--------|---------|-------| +| **Treinamentos** | 30/9 e 1/10/2013 | Escola de Administração Fazendária (ESAF) - Brasília/DF | +| **Conferências** | 2 a 4/10/2013 | Centro de Convenções Ulysses Guimarães (CCUG) - Brasília/DF | +| **Festa** | 3/10/2013 | Clube Naval - Brasília/DF | +| **Job Fair** | 4/10/2013 | Centro de Convenções Ulysses Guimarães (CCUG) - Brasília/DF | +| **Sprint da Conferência** | 5 e 6/10/2013 | Nova Central Sindical de Trabalhadores (NCST) - Brasília/DF | +| **Caipirinha Sprint** | 8 a 11/10/2013 | Hotel Xenius - João Pessoa/PB | + +**Organizadora:** Tânia Andrea + +**Nome oficial:** PythonBrasil[9] / Plone Conference 2013 + +## Números + +| Item | Valor | +|------|-------| +| Inscritos no evento | 584 | +| Palestras | +144 | +| Palestrantes internacionais | +30 | +| Keynotes | 7 | +| Treinamentos | 16 | +| Estados representados (Brasil) | 21 | +| Países representados | 19 | +| Continentes representados | Todos | +| Mulheres no evento | ~10% | +| Inscritos no treinamento | ~150 | +| Patrocinadores | 15 | +| Apoiadores | 18 | + +## Resumo + +A Big Kahuna da PythonBrasil[9] / Plone Conference 2013 foi Tânia Andrea que organizou o evento voluntariamente com a ajuda dos membros da comunidade PloneGov-BR e apoio de outros membros da comunidade Python, sem qualquer fim lucrativo. + +**Keynotes Speakers:** + +* Eric Steele (Plone 5) +* Fábio Costa (linguagem convidada, JavaScript) +* Karin Breitman (Big Data) +* Paul Everitt (Pyramid) +* Paul Hildebrandt (Walt Disney) +* Paul Roeland (State of Plone) +* Rodrigo Senra (Show Pyrotécnico) + +## Plone Conference 2013 + +Em conjunto com a PythonBrasil[9] foi realizada a décima primeira edição da Plone Conference, pela primeira vez na América Latina. + +## Inscrições + +| Valor | Data da Inscrição | Observação | +|-------|-------------------|------------| +| R$ 50 | até 9/8/2013 | R$ 25 para estudantes ou associados da APyB | +| R$ 100 | de 10/8 a 24/9/2013 | R$ 50 para estudantes ou associados da APyB | +| R$ 150 | de 25/9 a 1/10/2013 | R$ 75 para estudantes ou associados da APyB | +| R$ 200 | no dia do evento | R$ 100 para estudantes ou associados da APyB | + +## Patrocinadores + +| Patrocinador | Cota | +|--------------|------| +| Serpro | Diamante | +| NIC.br / CGI.br | Diamante | +| Liberiun | Platina | +| Simples Consultoria | Platina | +| Globo.com | Ouro | +| Four Digits | Ouro | +| Titans Group | Ouro | +| Python Software Foundation (PSF) | Ouro | +| Interlegis | Ouro | +| Evolux | Bronze | +| Amazon | Bronze | +| CMS COM -- do Japão | Bronze | +| PyCursos | Bronze | +| ZNC Sistemas | Bronze | +| Agência Click Isobar | Bronze | + +## Receitas e Despesas + +* Total de Receitas = R$ 215.460 +* Total de Despesas = R$ 185.674 +* Total de Taxas = R$ 5.073 + +Logo, tivemos lucro de: R$ 24.712 ou USD 10,427. + +Sendo que $ 5,000 USD foram para a Plone Foundation e $ 5,427 USD ficaram com a Associação Python Brasil. diff --git a/source/imagens/pyconbrasil2008-oficial.jpg b/docs/imagens/pyconbrasil2008-oficial.jpg similarity index 100% rename from source/imagens/pyconbrasil2008-oficial.jpg rename to docs/imagens/pyconbrasil2008-oficial.jpg diff --git a/source/imagens/pyconday.jpg b/docs/imagens/pyconday.jpg similarity index 100% rename from source/imagens/pyconday.jpg rename to docs/imagens/pyconday.jpg diff --git a/source/imagens/pythonbrasil-1.jpg b/docs/imagens/pythonbrasil-1.jpg similarity index 100% rename from source/imagens/pythonbrasil-1.jpg rename to docs/imagens/pythonbrasil-1.jpg diff --git a/source/imagens/pythonbrasil-2.jpg b/docs/imagens/pythonbrasil-2.jpg similarity index 100% rename from source/imagens/pythonbrasil-2.jpg rename to docs/imagens/pythonbrasil-2.jpg diff --git a/source/imagens/pythonbrasil-3-2.jpg b/docs/imagens/pythonbrasil-3-2.jpg similarity index 100% rename from source/imagens/pythonbrasil-3-2.jpg rename to docs/imagens/pythonbrasil-3-2.jpg diff --git a/source/imagens/pythonbrasil-3.jpg b/docs/imagens/pythonbrasil-3.jpg similarity index 100% rename from source/imagens/pythonbrasil-3.jpg rename to docs/imagens/pythonbrasil-3.jpg diff --git a/source/imagens/pythonbrasil-5.jpg b/docs/imagens/pythonbrasil-5.jpg similarity index 100% rename from source/imagens/pythonbrasil-5.jpg rename to docs/imagens/pythonbrasil-5.jpg diff --git a/source/imagens/pythonbrasil6.jpg b/docs/imagens/pythonbrasil6.jpg similarity index 100% rename from source/imagens/pythonbrasil6.jpg rename to docs/imagens/pythonbrasil6.jpg diff --git a/source/imagens/pythonbrasil7.jpg b/docs/imagens/pythonbrasil7.jpg similarity index 100% rename from source/imagens/pythonbrasil7.jpg rename to docs/imagens/pythonbrasil7.jpg diff --git a/source/imagens/pythonbrasil8-2.jpg b/docs/imagens/pythonbrasil8-2.jpg similarity index 100% rename from source/imagens/pythonbrasil8-2.jpg rename to docs/imagens/pythonbrasil8-2.jpg diff --git a/source/imagens/pythonbrasil8.jpg b/docs/imagens/pythonbrasil8.jpg similarity index 100% rename from source/imagens/pythonbrasil8.jpg rename to docs/imagens/pythonbrasil8.jpg diff --git a/source/imagens/senra.jpg b/docs/imagens/senra.jpg similarity index 100% rename from source/imagens/senra.jpg rename to docs/imagens/senra.jpg diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..713721d --- /dev/null +++ b/docs/index.md @@ -0,0 +1,11 @@ +# Manual do Big Kahuna: Guia para a organização de eventos Python + +Bem vindas ao guia para organização de eventos Python! + +Este guia tem como objetivo auxiliar às comunidades desde seu interesse em candidatar-se como sede, passando pela organização da conferência, até sua finalização (o pós-evento). Este também é usado como suporte textual do programa de mentoria promovido pela Associação Python Brasil (APyB) para as equipes organizadoras do evento. + +Este manual cobre **todas as escalas de eventos Python**: desde meetups locais até a Python Brasil, passando por eventos regionais. Se você está começando uma comunidade ou planejando um grande evento, este guia é para você. + +## Por onde começar? + +Se você não sabe por onde começar, use nosso [checklist interativo](escalas/index.md) para descobrir qual tipo de evento é mais adequado para o momento da sua comunidade. diff --git a/docs/introducao/index.md b/docs/introducao/index.md new file mode 100644 index 0000000..30039cf --- /dev/null +++ b/docs/introducao/index.md @@ -0,0 +1,27 @@ +# Introdução + +Este documento foi criado originalmente em 2011 e passa por sucessivas modificações por parte da diretoria da Associação Python Brasil (APyB) e das organizações da Python Brasil ao longo dos anos. + +O objetivo inicial era auxiliar na organização de eventos apoiados pela APyB, sobretudo das edições futuras da Python Brasil. Como agora temos diversos outros eventos importantes acontecendo na comunidade, esse guia também abrange *meetups* e *conferências regionais*. + +## Big Kahuna + +A pessoa "Big Kahuna" é a gerente do projeto, responsável por formar a equipe de organização e gerenciar o seu trabalho coletivo. Também é responsável por coordenar e gerenciar todas as atividades inerentes a organização do evento, bem como ser a responsável fiscal. + +Para ocupar esse cargo, a pessoa deve ser da comunidade Python Brasil e [associada à APyB](https://apyb.python.org.br/associados/associe-se/). + +Apesar da existência da figura do Big Kahuna, O evento é fruto do trabalho de diversas pessoas, e é responsabilidade de todas o sucesso da empreitada. + +## Python Brasil + +A Python Brasil é o evento anual da comunidade Python brasileira. Apoiado pela Associação Python Brasil (APyB) desde sua terceira edição, já foi conhecido como PyConDays (apenas na primeira edição, em Campinas, 2005), e como PyConBrasil, nome utilizado até a quarta edição. + +O evento tem como objetivos: + +* Ser o encontro da comunidade brasileira de Python; +* Ser a porta de entrada nesta comunidade; +* Divulgar conhecimento. + +## História + +A história completa da Python Brasil, desde a primeira edição em 2005, está disponível na seção: [História da Python Brasil](../historia/index.md). diff --git a/docs/orientacoes-gerais.md b/docs/orientacoes-gerais.md new file mode 100644 index 0000000..73adf46 --- /dev/null +++ b/docs/orientacoes-gerais.md @@ -0,0 +1,244 @@ +# Orientações Gerais — arquivo central de trechos reutilizáveis + +!!! warning "Este arquivo não é publicado no site" + Ele centraliza dicas que se aplicam a mais de uma escala de evento + (configurado em `exclude_docs` no `mkdocs.yml`). Cada guia de escala inclui + apenas os trechos relevantes usando + [section snippets](https://facelessuser.github.io/pymdown-extensions/extensions/snippets/#section-snippets). + +**Como usar:** no `orientacoes.md` de cada escala, inclua uma seção com: + +``` +--8<-- "orientacoes-gerais.md:nome-da-secao" +``` + +As seções disponíveis estão listadas no sumário abaixo. Para criar uma nova +seção, delimite o conteúdo com os marcadores `--8<-- [start:nome]` e +`--8<-- [end:nome]` (dentro de comentários HTML, como nas demais seções). + +## Sumário de seções + +| Seção | Conteúdo | +| --- | --- | +| `primeiros-passos` | Primeiros passos para iniciar o evento | +| `local-evento` | Escolha do local do evento principal | +| `tutoriais` | Organização de tutoriais | +| `sprints` | Organização de sprints | +| `preparando-local` | Preparação do local (sinalização, neurodivergência) | +| `site` | Site do evento | +| `credenciamento` | Credenciamento | +| `coffee-break` | Coffee break | +| `caipyra` | Dica específica do Caipyra | +| `kit-participante` | Kit do participante (camisetas, crachás) | +| `participacao-apyb` | Participação da APyB no evento | +| `espaco-kids` | Espaço Infantil/Espaço Kids | +| `ingresso-organizacao` | Organizadores, palestrantes e ministrantes pagam ingresso? | +| `cdc` | Código de Conduta (CDC) | +| `programas-apoio` | Programas de apoio de custo e ingressos cortesia | + + +## Primeiros Passos para Iniciar o Evento + +- Definir a equipe organizadora +- Solicitar apoio da APyB preenchendo o [formulário](https://apyb.python.org.br/associados/guias/como-organizar-eventos/#como-funciona) +- Definir a data (preferencialmente em fim de semana com emenda de feriado, para facilitar o translado dos participantes) +- Escolher o local do evento principal (palestras) + - Obs: os locais para tutoriais e sprints não precisam ser necessariamente o mesmo das palestras e podem ser vistos depois +- Criar Plano de Patrocínio, também chamado de Media Kit +- Divulgar o Plano de Patrocínio para empresas com potencial de patrocínio +- Reuniões periódicas (online ou presencialmente). Sugestão de periodicidade: + - Faltando 12 a 8 meses: mensalmente + - Faltando 7 a 4 meses: quinzenalmente + - Faltando 3 meses até o evento: semanalmente + + + +### Local do Evento + +- Palestras + - Se o local for pago (hotel, centro de conferências), verificar se há venda casada, pois alguns locais não deixam utilizar fornecedores externos + - Normalmente há pelo menos 2 trilhas de palestras, então procure locais que comporte isso + - Prezar por locais com accessibilidade (rampas e/ou elevadores) + - Caso haja a necessidade do [Espaço Infantil/Espaço Kids](#espaco-infantilespaco-kids), pensar onde ele será feito + - Separar um espaço para as mesas das comunidades, onde o fluxo de pessoas e o barulho não atrapalhe as palestras +- Tutoriais + - Não precisa ser no mesmo local das palestras, podendo ser feito em uma universidade ou outro local com estrutura similar + - Preferência para laboratórios de computadores, para os participantes que não possuem notebooks possam participar +- Sprints + - Local pode ser mais informal (escritório de um patrocinador, cafeterias, etc) e menor, pois não há tanta participação quanto nos outros dias + - Priorizar internet disponível e tomadas para os participantes + + + + +### Tutoriais + +- Um tutorial é um curso ou atividade prática realizada durante o evento, com o objetivo de ensinar um tema de forma mais aprofundada. Pode ter duração de uma manhã, uma tarde ou até um dia inteiro, dependendo do conteúdo. +- Relação com Python: os cursos devem abordar Python ou temas relacionados ao seu uso, como programação, dados, inteligência artificial, automação, web, entre outros. +- Formato prático: é interessante que os participantes possam acompanhar exemplos e desenvolver atividades durante o tutorial. +- Duração: o conteúdo pode ser planejado para uma manhã ou para um dia inteiro, conforme a complexidade do tema. +- Curso introdutório: é importante considerar pelo menos um tutorial de Introdução ao Python, voltado para pessoas que nunca programaram ou estão tendo seu primeiro contato com a linguagem. + - Abertura para iniciantes: um curso introdutório pode ser uma porta de entrada para novas pessoas conhecerem o evento e descobrirem a comunidade Python. +- Diversidade de níveis: sempre que possível, ofereça tutoriais para diferentes níveis de conhecimento, permitindo que tanto iniciantes quanto pessoas mais experientes encontrem atividades adequadas. +- Conhecimento prévio: informe claramente na divulgação se o tutorial exige conhecimentos anteriores ou algum software instalado. +- Aproximação com a comunidade: além de ensinar um conteúdo, o tutorial pode ser uma oportunidade para os participantes conhecerem outras pessoas, projetos e atividades da comunidade. +- Quantidade de pessoas: com a definição do espaço, veja quantas pessoas comporta e quantas pessoas a pessoa ministrante sente-se confortável em ter no tutorial +- Local do Tutorial: Pode ser em local diferente do evento principal, já que a estrutura requer um outro formato: carteiras/mesas para apoiar notebook e tomadas, projetor, mesa e cadeira para o ministrante e internet + + + +### Sprints + +- Uma Sprint é uma atividade prática em que participantes se reúnem para contribuir com projetos de código aberto (Open Source). Normalmente acontece durante um dia e é uma oportunidade para aprender, colaborar e contribuir com projetos reais. +- Projetos Open Source: selecione projetos relacionados a Python que estejam abertos a novas contribuições. + - Contribuições variadas: as atividades podem incluir código, documentação, testes, correção de bugs, tradução e outras formas de contribuição. + - Orientação: tenha pessoas familiarizadas com os projetos para ajudar os participantes a configurar o ambiente e encontrar tarefas adequadas. + - Preparação prévia: sempre que possível, disponibilize instruções antes do evento sobre instalação das ferramentas, criação de contas e configuração do ambiente. +- Espaço: + - Pode ser em qualquer espaço com mesas, cadeiras e internet sem fio. Ar condicionado é sempre bem-vindo. Café também. Algo para petiscar, idem. + - Pode ser feito em alguma cafeteria, com negociação prévia com a pessoa proprietária. + - Ambiente colaborativo: organize as mesas e espaços de forma que os participantes possam conversar, tirar dúvidas e trabalhar em conjunto. +- Acolhimento de iniciantes: é interessante escolher projetos que aceitem contribuições de pessoas com diferentes níveis de experiência. + - Primeira contribuição: para iniciantes, uma Sprint pode ser uma ótima oportunidade para fazer sua primeira contribuição para um projeto Open Source. +- Contato com a comunidade: além da contribuição técnica, a atividade aproxima os participantes de desenvolvedores e mantenedores de projetos da comunidade Python. + + + +### Preparando o local do evento + +- Tenha placas para indicar o nome de cada sala/auditório, isso facilita para os participantes se localizarem +- Dependendo do local, também é interessante colocar setas pelo caminho indicando onde é o evento +- Caso alguém da organização se disponibilize a levar, ter uma impressora à disposição ajuda a criar cartazes que sejam necessários de última hora +- Orientações voltada às pessoas com neurodivergência: + - Pessoas neurodivergentes são aquelas que apresentam formas de funcionamento neurológico diferentes do padrão considerado típico, como pessoas autistas, com TDAH, dislexia, entre outras. Algumas podem ter maior sensibilidade a sons, luzes, cheiros, movimentação ou excesso de estímulos. Para tornar o espaço mais confortável e acessível: + - Sala de descompressão: se possível, disponibilize um espaço tranquilo, com pouca luz e pouco ruído, para quem precisar se afastar dos estímulos. + - Controle de ruídos: evite aparelhos sonoros em volume muito alto e, quando possível, avise previamente sobre momentos de música, microfone ou outros sons intensos. + - Iluminação: prefira iluminação confortável e evite luzes piscantes ou efeitos estroboscópicos. + - Informações claras: disponibilize antecipadamente informações sobre o local, programação, duração das atividades e possíveis estímulos sensoriais. + - Flexibilidade: permita que a pessoa se retire temporariamente da atividade, use fones abafadores ou escolha um local mais tranquilo sem constrangimento. + - Equipe preparada: oriente os organizadores e voluntários para que saibam acolher diferentes necessidades e evitem julgamentos sobre comportamentos individuais. + - Respeito às diferenças: nem toda pessoa neurodivergente terá as mesmas necessidades. Sempre que possível, pergunte à pessoa como tornar sua participação mais confortável. + + + +### Site + +- Utilize os widgets do Pretalx para embutir a programação no site, assim caso haja modificações na grade não é necessário alterar em dois locais separados +- O site será acessado majoritariamente pelo celular durante o evento, ter um layout responsivo é indispensável + + + +### Credenciamento + +- O pico de participantes costuma ser no primeiro dia do evento principal. Evite filas se preparando com antecedência: + - Tenha diversos computadores com acesso ao sistema de ingressos e tenha voluntários em quantidade suficiente para operá-los + - Os kits dos participantes devem ser organizados com antecedência, para evitar atrasos na abertura do evento + + + +### Coffee-break + +- Café: tenha sempre e em grandes quantidades +- Recomenda-se que sejam feitas postagens nas redes sociais do evento incentivando cada participante a levar uma caneca própria para evitar o uso de descartáveis +- Perguntar no formulário de inscrição se os participantes têm restrições alimentares +- Sempre tenha itens veganos: salgados e doces +- Se possível, tenha itens diet para diabéticos +- Salgados fritos funcionam melhor à tarde +- Salgados assados funcionam em qualquer horário +- Pão de queijo costuma ter boa saída e ótimo custo benefício +- Bolos não costumam ter boa saída +- Docinhos como brigadeiro e beijinho costumam ter melhor aceitação +- Caso precise de refrigeração, veja se o local possui e fornece ou se precisará levar bolsas térmicas/gelos +- Planilha de estimativa + - Crie uma planilha modularizada, com os possíveis itens a serem comprados e em cada dia, especificando o fornecedor, o valor de cada item, a quantidade estimada que cada participante consome, atrelando a uma quantidade estimada de participantes total por dia. + - Varie o tipo dos salgados e doces por período e dia, se possível, para não ficar repetitivo e enjoativo + - A quantidade de pessoas veganas pode ser estimada por uma porcentagem do total de participantes no dia, entre 10 e 15% é uma estimativa que funciona bem pelo histórico + - Pessoas com alergias e restrições alimentares também costumam se beneficiar dos itens veganos, por isso esta porcentagem acima + + + +- Se for o Caipyra, é altamente recomendado que se tenha paçoquinha e quentão, pois está na divulgação do evento + + + +### Kit do participante + +- Camisetas + - É interessante utilizar uma cor para os participantes, outra cor que dê destaque para a organização e uma distinta para a equipe de resposta do CDC. Sugere-se usar cor branca no silk das camisetas para que seja criada uma única tela de silkagem, mudando apenas a cor da camiseta + - Colocar o logo dos patrocinadores na camiseta é uma contrapartida complexa, dado que nem sempre os contratos de patrocínio são fechados antes da confecção das camisetas, patrocinadores atrasam o envio da logo vetorizada, e outros imprevistos podem acontecer +- Crachás + - Para otimizar o fluxo no credenciamento, sugere-se que os crachás possuam um campo em branco para que **cada participante** escreva seu nome e pronome, além de deixar a cargo dos participantes a inserção do barbante ou o que for segurar o crachá no pescoço + - Caso a verba permita, tenha adesivos para colar nos crachás para indicar: + - Pronomes, por exemplo: + - Ela/Dela + - Elu/Delu + - Ile/Dile + - Ele/Dele + - O quanto a pessoa está apta para conversas, por exemplo: + - Pode chegar! + - Prefiro ficar na minha + - Prefiro tomar a iniciativa + - ... + - Palestrante + - Primeiro evento +- Caso o kit tenham muitos itens (caneca, adesivos, material de divulgação de empresas, etc), pode ser útil ter uma sacola. As de TNT costumam ser mais em conta que as ecobags de tecido, porém são menos duráveis + + + +### Participação da APyB + +- Ter um stand (ou mesa) para a APyB divulgar a associação e conseguir novos associados +- Nos slides da organização do evento, salientar a importância da APyB para realizar os eventos da comunidade Python e incentivar as pessoas a se associarem +- Reservar 5min em horário nobre (antes do primeiro Keynote ou durante a abertura) para a APyB se apresentar + + + +### Espaço Infantil/Espaço Kids + +- Se houver verba, veja a necessidade de um espaço infantil para os pais poderem participar do evento tranquilamente, com uma equipe treinada para oferecer recreação para as crianças. Este espaço infantil deve oferecer atividades seguras, variadas e adequadas a diferentes idades, incentivando a criatividade, a interação e a autonomia das crianças. Exemplo de atividades: + - Jogos colaborativos: disponibilize brincadeiras em grupo que estimulem cooperação, como jogos de tabuleiro, quebra-cabeças e desafios coletivos. + - Atividades artísticas: ofereça materiais para desenho, pintura, colagem e criação de trabalhos manuais. + - Brinquedos variados: disponibilize brinquedos de montar, blocos, jogos de encaixe e outros que estimulem a criatividade. + - Espaço para leitura: se possível, tenha livros infantis e um cantinho confortável para leitura e contação de histórias. + - Brincadeiras livres: reserve um espaço onde as crianças possam brincar livremente, respeitando seus próprios interesses. + - Atividades com movimento: inclua brincadeiras que envolvam movimento corporal, desde que o espaço seja adequado e seguro. + - Materiais adequados: utilize materiais atóxicos, seguros e apropriados para a faixa etária. +- Organização do espaço: mantenha os materiais identificados e de fácil acesso, com áreas bem delimitadas para diferentes atividades. +- Monitores: tenha adultos responsáveis pela supervisão e orientação das atividades, sem interferir excessivamente na brincadeira. +- Inclusão: procure oferecer atividades com diferentes níveis de dificuldade, permitindo que crianças com diferentes habilidades possam participar. +- Segurança: mantenha objetos pequenos, materiais cortantes e outros itens potencialmente perigosos fora do alcance das crianças menores. + + + +### Ingressos para organização/palestrantes + +Quem paga ingresso é uma decisão que deve ser tomada pela organização. Dessa forma, todo ano é discutido esse tema para cada um desses grupos. + +Levem em consideração os seguintes pontos: + + * Definam se organização paga ingresso e principalmente quem será considerado "organização". Uma opção é considerar que todas as pessoas que forem trabalhar no evento presencial não poderão aproveitá-lo, pois estarão ocupadas com as responsabilidades de org, então seria bom não pagarem. + * Definam isso para palestrantes e ministrantes de tutoriais ANTES de abrir o Call For Papers para já deixar explicito na submissão. + * Dependendo da situação econômica da região, do país e da verba do evento, essa questão pode ser reconsiderada. + + + +### Código de conduta (CDC) + +O Comitê de Código de Conduta é organizado e montado com ajuda da organização, mas é totalmente independente tendo poder até em cima da organização durante a realização do evento. + +O CDC só cobre as atividades oficiais do eventos (tutoriais, palestras e sprints). Os eventos extraoficiais (Algorave, PyBar, Pós-Evento) podem causar situações para os próximos dias, mas o CDC não atua fora do evento (possíveis situações devem ser tratadas no evento). + +A comunidade se posiciona sempre e ajuda em outras situações, mas a organização do evento não pode se comprometer com isso. + +> Importante destacar que é imprescindível, que toda a organização e comitê estejam a par do conteúdo do [Código de Conduta](https://python.org.br/cdc/). + + + +### Programas de apoio de custo e ingressos cortesia para grupos sub-representados + +Esse tipo de programa é sempre bem vindo, mas a organização deve sempre olhar para o financeiro e a viabilização do evento. + +A organização estando definida e organizada, pode-se ir atrás desses grupos e viabilizar a vinda deles através de iniciativas dos próprios grupos com o apoio da organização (apoiar na divulgação, alcance e suporte para viabilizar a parceria). + +A organização não deve se comprometer com a criação desses programas, pois é uma atividade da comunidade. A organização sempre é, e provavelmente sempre vai ser, sobrecarregada com outras atividades. + diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..4882ba5 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,96 @@ +site_name: Manual do Big Kahuna +site_description: Guia para a organização de eventos Python +site_url: !ENV [SITE_URL, 'https://manual.pythonbrasil.org.br/'] +repo_url: https://github.com/pythonbrasil/manual +repo_name: pythonbrasil/manual +edit_uri: edit/master/docs/ + +docs_dir: docs +site_dir: site + +theme: + name: material + language: pt + palette: + - media: "(prefers-color-scheme: light)" + scheme: default + primary: deep blue + toggle: + icon: material/brightness-7 + name: Mudar para modo escuro + - media: "(prefers-color-scheme: dark)" + scheme: slate + primary: deep blue + toggle: + icon: material/brightness-4 + name: Mudar para modo claro + features: + - navigation.top + - navigation.indexes + - content.code.copy + +markdown_extensions: + - admonition + - footnotes + - pymdownx.details + - pymdownx.snippets: + base_path: !relative $docs_dir + check_paths: true + - toc: + permalink: true + +exclude_docs: | + orientacoes-gerais.md + +nav: + - Manual do Big Kahuna: index.md + - Introdução: introducao/index.md + - Escalas de Eventos: + - escalas/index.md + - Meetups: + - Guia de Meetups Python: escalas/meetups/index.md + - Processo e Governança: escalas/meetups/governanca.md + - Times e Organização: escalas/meetups/times.md + - Financeiro e Patrocínio: escalas/meetups/financeiro.md + - Marketing e Divulgação: escalas/meetups/marketing.md + - Eventos Regionais: + - Guia de Eventos Regionais Python: escalas/regionais/index.md + - Processo e Governança: escalas/regionais/governanca.md + - Times e Organização: escalas/regionais/times.md + - Orientações Gerais: escalas/regionais/orientacoes.md + - Financeiro e Patrocínio: escalas/regionais/financeiro.md + - Marketing e Divulgação: escalas/regionais/marketing.md + - Ferramentas: escalas/regionais/ferramentas.md + - Python Brasil: + - Organizando uma Python Brasil: escalas/nacional/index.md + - Proposta de Candidatura: escalas/nacional/candidatura.md + - Modelo de proposta: escalas/nacional/modelo.md + - Processo e Governança: escalas/nacional/governanca.md + - Times e Organização: escalas/nacional/times.md + - Orientações Gerais: escalas/nacional/orientacoes.md + - Financeiro e Patrocínio: escalas/nacional/financeiro.md + - Marketing e Divulgação: escalas/nacional/marketing.md + - Ferramentas: + - ferramentas/index.md + - Pretix: ferramentas/pretix.md + - História da Python Brasil: + - historia/index.md + - PyConBrasil / PyConDay 2005: historia/pyconbrasil.md + - PyConBrasil 2006: historia/pyconbrasil2.md + - PyConBrasil 2007: historia/pyconbrasil3.md + - PyConBrasil 2008: historia/pyconbrasil2008.md + - Python Brasil 2009: historia/pythonbrasil5.md + - Python Brasil 2010: historia/pythonbrasil6.md + - Python Brasil 2011: historia/pythonbrasil7.md + - Python Brasil 2012: historia/pythonbrasil8.md + - Python Brasil 2013: historia/pythonbrasil9.md + - Python Brasil 2014: historia/pythonbrasil10.md + - Python Brasil 2015: historia/pythonbrasil11.md + - Python Brasil 2016: historia/pythonbrasil12.md + - Python Brasil 2017: historia/pythonbrasil13.md + - Python Brasil 2018: historia/pythonbrasil14.md + - Python Brasil 2019: historia/pythonbrasil15.md + - Python Brasil 2020: historia/pythonbrasil16.md + - Python Brasil 2021: historia/pythonbrasil17.md + - Python Brasil 2022: historia/pythonbrasil18.md + - Python Brasil 2023: historia/pythonbrasil19.md diff --git a/poetry.lock b/poetry.lock deleted file mode 100644 index 8d43e83..0000000 --- a/poetry.lock +++ /dev/null @@ -1,751 +0,0 @@ -[[package]] -name = "alabaster" -version = "0.7.12" -description = "A configurable sidebar-enabled Sphinx theme" -category = "main" -optional = false -python-versions = "*" - -[[package]] -name = "attrs" -version = "21.4.0" -description = "Classes Without Boilerplate" -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - -[package.extras] -dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit", "cloudpickle"] -docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"] -tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "cloudpickle"] -tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "cloudpickle"] - -[[package]] -name = "babel" -version = "2.9.1" -description = "Internationalization utilities" -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" - -[package.dependencies] -pytz = ">=2015.7" - -[[package]] -name = "beautifulsoup4" -version = "4.10.0" -description = "Screen-scraping library" -category = "main" -optional = false -python-versions = ">3.0.0" - -[package.dependencies] -soupsieve = ">1.2" - -[package.extras] -html5lib = ["html5lib"] -lxml = ["lxml"] - -[[package]] -name = "certifi" -version = "2021.10.8" -description = "Python package for providing Mozilla's CA Bundle." -category = "main" -optional = false -python-versions = "*" - -[[package]] -name = "charset-normalizer" -version = "2.0.12" -description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -category = "main" -optional = false -python-versions = ">=3.5.0" - -[package.extras] -unicode_backport = ["unicodedata2"] - -[[package]] -name = "colorama" -version = "0.4.4" -description = "Cross-platform colored terminal text." -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - -[[package]] -name = "docutils" -version = "0.17.1" -description = "Docutils -- Python Documentation Utilities" -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - -[[package]] -name = "furo" -version = "2022.3.4" -description = "A clean customisable Sphinx documentation theme." -category = "main" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -beautifulsoup4 = "*" -pygments = ">=2.7,<3.0" -sphinx = ">=4.0,<5.0" - -[[package]] -name = "idna" -version = "3.3" -description = "Internationalized Domain Names in Applications (IDNA)" -category = "main" -optional = false -python-versions = ">=3.5" - -[[package]] -name = "imagesize" -version = "1.3.0" -description = "Getting image size from png/jpeg/jpeg2000/gif file" -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" - -[[package]] -name = "importlib-metadata" -version = "4.11.3" -description = "Read metadata from Python packages" -category = "main" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -zipp = ">=0.5" - -[package.extras] -docs = ["sphinx", "jaraco.packaging (>=9)", "rst.linker (>=1.9)"] -perf = ["ipython"] -testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "packaging", "pyfakefs", "flufl.flake8", "pytest-perf (>=0.9.2)", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)", "importlib-resources (>=1.3)"] - -[[package]] -name = "jinja2" -version = "3.0.3" -description = "A very fast and expressive template engine." -category = "main" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -MarkupSafe = ">=2.0" - -[package.extras] -i18n = ["Babel (>=2.7)"] - -[[package]] -name = "livereload" -version = "2.6.3" -description = "Python LiveReload is an awesome tool for web developers" -category = "main" -optional = false -python-versions = "*" - -[package.dependencies] -six = "*" -tornado = {version = "*", markers = "python_version > \"2.7\""} - -[[package]] -name = "markdown-it-py" -version = "2.0.1" -description = "Python port of markdown-it. Markdown parsing, done right!" -category = "main" -optional = false -python-versions = "~=3.6" - -[package.dependencies] -attrs = ">=19,<22" -mdurl = ">=0.1,<1.0" - -[package.extras] -benchmarking = ["psutil", "pytest", "pytest-benchmark (>=3.2,<4.0)"] -code_style = ["pre-commit (==2.6)"] -compare = ["commonmark (>=0.9.1,<0.10.0)", "markdown (>=3.2.2,<3.3.0)", "mistletoe-ebp (>=0.10.0,<0.11.0)", "mistune (>=0.8.4,<0.9.0)", "panflute (>=1.12,<2.0)"] -linkify = ["linkify-it-py (>=1.0,<2.0)"] -plugins = ["mdit-py-plugins"] -rtd = ["myst-nb (==0.13.0a1)", "pyyaml", "sphinx (>=2,<4)", "sphinx-copybutton", "sphinx-panels (>=0.4.0,<0.5.0)", "sphinx-book-theme"] -testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] - -[[package]] -name = "markupsafe" -version = "2.1.1" -description = "Safely add untrusted strings to HTML/XML markup." -category = "main" -optional = false -python-versions = ">=3.7" - -[[package]] -name = "mdit-py-plugins" -version = "0.3.0" -description = "Collection of plugins for markdown-it-py" -category = "main" -optional = false -python-versions = "~=3.6" - -[package.dependencies] -markdown-it-py = ">=1.0.0,<3.0.0" - -[package.extras] -code_style = ["pre-commit (==2.6)"] -rtd = ["myst-parser (>=0.14.0,<0.15.0)", "sphinx-book-theme (>=0.1.0,<0.2.0)"] -testing = ["coverage", "pytest (>=3.6,<4)", "pytest-cov", "pytest-regressions"] - -[[package]] -name = "mdurl" -version = "0.1.0" -description = "Markdown URL utilities" -category = "main" -optional = false -python-versions = ">=3.6" - -[[package]] -name = "myst-parser" -version = "0.17.0" -description = "An extended commonmark compliant parser, with bridges to docutils & sphinx." -category = "main" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -docutils = ">=0.15,<0.18" -jinja2 = "*" -markdown-it-py = ">=1.0.0,<3.0.0" -mdit-py-plugins = ">=0.3.0,<0.4.0" -pyyaml = "*" -sphinx = ">=3.1,<5" -typing-extensions = "*" - -[package.extras] -code_style = ["pre-commit (>=2.12,<3.0)"] -linkify = ["linkify-it-py (>=1.0,<2.0)"] -rtd = ["ipython", "sphinx-book-theme (>=0.1.0,<0.2.0)", "sphinx-panels (>=0.5.2,<0.6.0)", "sphinxcontrib-bibtex (>=2.1,<3.0)", "sphinxext-rediraffe (>=0.2,<1.0)", "sphinxcontrib.mermaid (>=0.6.3,<0.7.0)", "sphinxext-opengraph (>=0.4.2,<0.5.0)"] -testing = ["beautifulsoup4", "coverage", "docutils (>=0.17.0,<0.18.0)", "pytest (>=6,<7)", "pytest-cov", "pytest-regressions", "pytest-param-files (>=0.3.4,<0.4.0)"] - -[[package]] -name = "packaging" -version = "21.3" -description = "Core utilities for Python packages" -category = "main" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -pyparsing = ">=2.0.2,<3.0.5 || >3.0.5" - -[[package]] -name = "pygments" -version = "2.11.2" -description = "Pygments is a syntax highlighting package written in Python." -category = "main" -optional = false -python-versions = ">=3.5" - -[[package]] -name = "pyparsing" -version = "3.0.7" -description = "Python parsing module" -category = "main" -optional = false -python-versions = ">=3.6" - -[package.extras] -diagrams = ["jinja2", "railroad-diagrams"] - -[[package]] -name = "pytz" -version = "2021.3" -description = "World timezone definitions, modern and historical" -category = "main" -optional = false -python-versions = "*" - -[[package]] -name = "pyyaml" -version = "6.0" -description = "YAML parser and emitter for Python" -category = "main" -optional = false -python-versions = ">=3.6" - -[[package]] -name = "requests" -version = "2.27.1" -description = "Python HTTP for Humans." -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" - -[package.dependencies] -certifi = ">=2017.4.17" -charset-normalizer = {version = ">=2.0.0,<2.1.0", markers = "python_version >= \"3\""} -idna = {version = ">=2.5,<4", markers = "python_version >= \"3\""} -urllib3 = ">=1.21.1,<1.27" - -[package.extras] -socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"] -use_chardet_on_py3 = ["chardet (>=3.0.2,<5)"] - -[[package]] -name = "six" -version = "1.16.0" -description = "Python 2 and 3 compatibility utilities" -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" - -[[package]] -name = "snowballstemmer" -version = "2.2.0" -description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." -category = "main" -optional = false -python-versions = "*" - -[[package]] -name = "soupsieve" -version = "2.3.1" -description = "A modern CSS selector implementation for Beautiful Soup." -category = "main" -optional = false -python-versions = ">=3.6" - -[[package]] -name = "sphinx" -version = "4.4.0" -description = "Python documentation generator" -category = "main" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -alabaster = ">=0.7,<0.8" -babel = ">=1.3" -colorama = {version = ">=0.3.5", markers = "sys_platform == \"win32\""} -docutils = ">=0.14,<0.18" -imagesize = "*" -importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""} -Jinja2 = ">=2.3" -packaging = "*" -Pygments = ">=2.0" -requests = ">=2.5.0" -snowballstemmer = ">=1.1" -sphinxcontrib-applehelp = "*" -sphinxcontrib-devhelp = "*" -sphinxcontrib-htmlhelp = ">=2.0.0" -sphinxcontrib-jsmath = "*" -sphinxcontrib-qthelp = "*" -sphinxcontrib-serializinghtml = ">=1.1.5" - -[package.extras] -docs = ["sphinxcontrib-websupport"] -lint = ["flake8 (>=3.5.0)", "isort", "mypy (>=0.931)", "docutils-stubs", "types-typed-ast", "types-requests"] -test = ["pytest", "pytest-cov", "html5lib", "cython", "typed-ast"] - -[[package]] -name = "sphinx-autobuild" -version = "2021.3.14" -description = "Rebuild Sphinx documentation on changes, with live-reload in the browser." -category = "main" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -colorama = "*" -livereload = "*" -sphinx = "*" - -[package.extras] -test = ["pytest", "pytest-cov"] - -[[package]] -name = "sphinxcontrib-applehelp" -version = "1.0.2" -description = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books" -category = "main" -optional = false -python-versions = ">=3.5" - -[package.extras] -lint = ["flake8", "mypy", "docutils-stubs"] -test = ["pytest"] - -[[package]] -name = "sphinxcontrib-devhelp" -version = "1.0.2" -description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document." -category = "main" -optional = false -python-versions = ">=3.5" - -[package.extras] -lint = ["flake8", "mypy", "docutils-stubs"] -test = ["pytest"] - -[[package]] -name = "sphinxcontrib-htmlhelp" -version = "2.0.0" -description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" -category = "main" -optional = false -python-versions = ">=3.6" - -[package.extras] -lint = ["flake8", "mypy", "docutils-stubs"] -test = ["pytest", "html5lib"] - -[[package]] -name = "sphinxcontrib-jsmath" -version = "1.0.1" -description = "A sphinx extension which renders display math in HTML via JavaScript" -category = "main" -optional = false -python-versions = ">=3.5" - -[package.extras] -test = ["pytest", "flake8", "mypy"] - -[[package]] -name = "sphinxcontrib-qthelp" -version = "1.0.3" -description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document." -category = "main" -optional = false -python-versions = ">=3.5" - -[package.extras] -lint = ["flake8", "mypy", "docutils-stubs"] -test = ["pytest"] - -[[package]] -name = "sphinxcontrib-serializinghtml" -version = "1.1.5" -description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)." -category = "main" -optional = false -python-versions = ">=3.5" - -[package.extras] -lint = ["flake8", "mypy", "docutils-stubs"] -test = ["pytest"] - -[[package]] -name = "tornado" -version = "6.1" -description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." -category = "main" -optional = false -python-versions = ">= 3.5" - -[[package]] -name = "typing-extensions" -version = "4.1.1" -description = "Backported and Experimental Type Hints for Python 3.6+" -category = "main" -optional = false -python-versions = ">=3.6" - -[[package]] -name = "urllib3" -version = "1.26.9" -description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" - -[package.extras] -brotli = ["brotlicffi (>=0.8.0)", "brotli (>=1.0.9)", "brotlipy (>=0.6.0)"] -secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"] -socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] - -[[package]] -name = "zipp" -version = "3.7.0" -description = "Backport of pathlib-compatible object wrapper for zip files" -category = "main" -optional = false -python-versions = ">=3.7" - -[package.extras] -docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] -testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"] - -[metadata] -lock-version = "1.1" -python-versions = "^3.8" -content-hash = "9e0a62977cec1b67150557305e6d06ab621ddd8f0c541b67b5f0513ede20389e" - -[metadata.files] -alabaster = [ - {file = "alabaster-0.7.12-py2.py3-none-any.whl", hash = "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359"}, - {file = "alabaster-0.7.12.tar.gz", hash = "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"}, -] -attrs = [ - {file = "attrs-21.4.0-py2.py3-none-any.whl", hash = "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4"}, - {file = "attrs-21.4.0.tar.gz", hash = "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd"}, -] -babel = [ - {file = "Babel-2.9.1-py2.py3-none-any.whl", hash = "sha256:ab49e12b91d937cd11f0b67cb259a57ab4ad2b59ac7a3b41d6c06c0ac5b0def9"}, - {file = "Babel-2.9.1.tar.gz", hash = "sha256:bc0c176f9f6a994582230df350aa6e05ba2ebe4b3ac317eab29d9be5d2768da0"}, -] -beautifulsoup4 = [ - {file = "beautifulsoup4-4.10.0-py3-none-any.whl", hash = "sha256:9a315ce70049920ea4572a4055bc4bd700c940521d36fc858205ad4fcde149bf"}, - {file = "beautifulsoup4-4.10.0.tar.gz", hash = "sha256:c23ad23c521d818955a4151a67d81580319d4bf548d3d49f4223ae041ff98891"}, -] -certifi = [ - {file = "certifi-2021.10.8-py2.py3-none-any.whl", hash = "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569"}, - {file = "certifi-2021.10.8.tar.gz", hash = "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872"}, -] -charset-normalizer = [ - {file = "charset-normalizer-2.0.12.tar.gz", hash = "sha256:2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597"}, - {file = "charset_normalizer-2.0.12-py3-none-any.whl", hash = "sha256:6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df"}, -] -colorama = [ - {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"}, - {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"}, -] -docutils = [ - {file = "docutils-0.17.1-py2.py3-none-any.whl", hash = "sha256:cf316c8370a737a022b72b56874f6602acf974a37a9fba42ec2876387549fc61"}, - {file = "docutils-0.17.1.tar.gz", hash = "sha256:686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125"}, -] -furo = [ - {file = "furo-2022.3.4-py3-none-any.whl", hash = "sha256:6c718293ebf87755f0b9f148b1e697c9e3aabd7af955644d4bcaee5ce75db781"}, - {file = "furo-2022.3.4.tar.gz", hash = "sha256:7660267cc67b2828fd0e17bc07adeb612c47b2eba5a6de07049a1569e6044aa8"}, -] -idna = [ - {file = "idna-3.3-py3-none-any.whl", hash = "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff"}, - {file = "idna-3.3.tar.gz", hash = "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"}, -] -imagesize = [ - {file = "imagesize-1.3.0-py2.py3-none-any.whl", hash = "sha256:1db2f82529e53c3e929e8926a1fa9235aa82d0bd0c580359c67ec31b2fddaa8c"}, - {file = "imagesize-1.3.0.tar.gz", hash = "sha256:cd1750d452385ca327479d45b64d9c7729ecf0b3969a58148298c77092261f9d"}, -] -importlib-metadata = [ - {file = "importlib_metadata-4.11.3-py3-none-any.whl", hash = "sha256:1208431ca90a8cca1a6b8af391bb53c1a2db74e5d1cef6ddced95d4b2062edc6"}, - {file = "importlib_metadata-4.11.3.tar.gz", hash = "sha256:ea4c597ebf37142f827b8f39299579e31685c31d3a438b59f469406afd0f2539"}, -] -jinja2 = [ - {file = "Jinja2-3.0.3-py3-none-any.whl", hash = "sha256:077ce6014f7b40d03b47d1f1ca4b0fc8328a692bd284016f806ed0eaca390ad8"}, - {file = "Jinja2-3.0.3.tar.gz", hash = "sha256:611bb273cd68f3b993fabdc4064fc858c5b47a973cb5aa7999ec1ba405c87cd7"}, -] -livereload = [ - {file = "livereload-2.6.3.tar.gz", hash = "sha256:776f2f865e59fde56490a56bcc6773b6917366bce0c267c60ee8aaf1a0959869"}, -] -markdown-it-py = [ - {file = "markdown-it-py-2.0.1.tar.gz", hash = "sha256:7b5c153ae1ab2cde00a33938bce68f3ad5d68fbe363f946de7d28555bed4e08a"}, - {file = "markdown_it_py-2.0.1-py3-none-any.whl", hash = "sha256:31974138ca8cafbcb62213f4974b29571b940e78364584729233f59b8dfdb8bd"}, -] -markupsafe = [ - {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-win32.whl", hash = "sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-win32.whl", hash = "sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-win32.whl", hash = "sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-win32.whl", hash = "sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247"}, - {file = "MarkupSafe-2.1.1.tar.gz", hash = "sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b"}, -] -mdit-py-plugins = [ - {file = "mdit-py-plugins-0.3.0.tar.gz", hash = "sha256:ecc24f51eeec6ab7eecc2f9724e8272c2fb191c2e93cf98109120c2cace69750"}, - {file = "mdit_py_plugins-0.3.0-py3-none-any.whl", hash = "sha256:b1279701cee2dbf50e188d3da5f51fee8d78d038cdf99be57c6b9d1aa93b4073"}, -] -mdurl = [ - {file = "mdurl-0.1.0-py3-none-any.whl", hash = "sha256:40654d6dcb8d21501ed13c21cc0bd6fc42ff07ceb8be30029e5ae63ebc2ecfda"}, - {file = "mdurl-0.1.0.tar.gz", hash = "sha256:94873a969008ee48880fb21bad7de0349fef529f3be178969af5817239e9b990"}, -] -myst-parser = [ - {file = "myst-parser-0.17.0.tar.gz", hash = "sha256:d412347a5cacb77ebc03d7f7ffef050cd61957d46f234313d350e84e24972260"}, - {file = "myst_parser-0.17.0-py3-none-any.whl", hash = "sha256:555ec2950aba5ae5dac5c162c7e9a43ad4a7291cfac644d8f5f84da8efa6f356"}, -] -packaging = [ - {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"}, - {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"}, -] -pygments = [ - {file = "Pygments-2.11.2-py3-none-any.whl", hash = "sha256:44238f1b60a76d78fc8ca0528ee429702aae011c265fe6a8dd8b63049ae41c65"}, - {file = "Pygments-2.11.2.tar.gz", hash = "sha256:4e426f72023d88d03b2fa258de560726ce890ff3b630f88c21cbb8b2503b8c6a"}, -] -pyparsing = [ - {file = "pyparsing-3.0.7-py3-none-any.whl", hash = "sha256:a6c06a88f252e6c322f65faf8f418b16213b51bdfaece0524c1c1bc30c63c484"}, - {file = "pyparsing-3.0.7.tar.gz", hash = "sha256:18ee9022775d270c55187733956460083db60b37d0d0fb357445f3094eed3eea"}, -] -pytz = [ - {file = "pytz-2021.3-py2.py3-none-any.whl", hash = "sha256:3672058bc3453457b622aab7a1c3bfd5ab0bdae451512f6cf25f64ed37f5b87c"}, - {file = "pytz-2021.3.tar.gz", hash = "sha256:acad2d8b20a1af07d4e4c9d2e9285c5ed9104354062f275f3fcd88dcef4f1326"}, -] -pyyaml = [ - {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"}, - {file = "PyYAML-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c"}, - {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc"}, - {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b"}, - {file = "PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"}, - {file = "PyYAML-6.0-cp310-cp310-win32.whl", hash = "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513"}, - {file = "PyYAML-6.0-cp310-cp310-win_amd64.whl", hash = "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a"}, - {file = "PyYAML-6.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86"}, - {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f"}, - {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92"}, - {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4"}, - {file = "PyYAML-6.0-cp36-cp36m-win32.whl", hash = "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293"}, - {file = "PyYAML-6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57"}, - {file = "PyYAML-6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c"}, - {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0"}, - {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4"}, - {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9"}, - {file = "PyYAML-6.0-cp37-cp37m-win32.whl", hash = "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737"}, - {file = "PyYAML-6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d"}, - {file = "PyYAML-6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b"}, - {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba"}, - {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34"}, - {file = "PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287"}, - {file = "PyYAML-6.0-cp38-cp38-win32.whl", hash = "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78"}, - {file = "PyYAML-6.0-cp38-cp38-win_amd64.whl", hash = "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07"}, - {file = "PyYAML-6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b"}, - {file = "PyYAML-6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174"}, - {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803"}, - {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3"}, - {file = "PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0"}, - {file = "PyYAML-6.0-cp39-cp39-win32.whl", hash = "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb"}, - {file = "PyYAML-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c"}, - {file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"}, -] -requests = [ - {file = "requests-2.27.1-py2.py3-none-any.whl", hash = "sha256:f22fa1e554c9ddfd16e6e41ac79759e17be9e492b3587efa038054674760e72d"}, - {file = "requests-2.27.1.tar.gz", hash = "sha256:68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61"}, -] -six = [ - {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, - {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, -] -snowballstemmer = [ - {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"}, - {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"}, -] -soupsieve = [ - {file = "soupsieve-2.3.1-py3-none-any.whl", hash = "sha256:1a3cca2617c6b38c0343ed661b1fa5de5637f257d4fe22bd9f1338010a1efefb"}, - {file = "soupsieve-2.3.1.tar.gz", hash = "sha256:b8d49b1cd4f037c7082a9683dfa1801aa2597fb11c3a1155b7a5b94829b4f1f9"}, -] -sphinx = [ - {file = "Sphinx-4.4.0-py3-none-any.whl", hash = "sha256:5da895959511473857b6d0200f56865ed62c31e8f82dd338063b84ec022701fe"}, - {file = "Sphinx-4.4.0.tar.gz", hash = "sha256:6caad9786055cb1fa22b4a365c1775816b876f91966481765d7d50e9f0dd35cc"}, -] -sphinx-autobuild = [ - {file = "sphinx-autobuild-2021.3.14.tar.gz", hash = "sha256:de1ca3b66e271d2b5b5140c35034c89e47f263f2cd5db302c9217065f7443f05"}, - {file = "sphinx_autobuild-2021.3.14-py3-none-any.whl", hash = "sha256:8fe8cbfdb75db04475232f05187c776f46f6e9e04cacf1e49ce81bdac649ccac"}, -] -sphinxcontrib-applehelp = [ - {file = "sphinxcontrib-applehelp-1.0.2.tar.gz", hash = "sha256:a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58"}, - {file = "sphinxcontrib_applehelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:806111e5e962be97c29ec4c1e7fe277bfd19e9652fb1a4392105b43e01af885a"}, -] -sphinxcontrib-devhelp = [ - {file = "sphinxcontrib-devhelp-1.0.2.tar.gz", hash = "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4"}, - {file = "sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"}, -] -sphinxcontrib-htmlhelp = [ - {file = "sphinxcontrib-htmlhelp-2.0.0.tar.gz", hash = "sha256:f5f8bb2d0d629f398bf47d0d69c07bc13b65f75a81ad9e2f71a63d4b7a2f6db2"}, - {file = "sphinxcontrib_htmlhelp-2.0.0-py2.py3-none-any.whl", hash = "sha256:d412243dfb797ae3ec2b59eca0e52dac12e75a241bf0e4eb861e450d06c6ed07"}, -] -sphinxcontrib-jsmath = [ - {file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"}, - {file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"}, -] -sphinxcontrib-qthelp = [ - {file = "sphinxcontrib-qthelp-1.0.3.tar.gz", hash = "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72"}, - {file = "sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"}, -] -sphinxcontrib-serializinghtml = [ - {file = "sphinxcontrib-serializinghtml-1.1.5.tar.gz", hash = "sha256:aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952"}, - {file = "sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl", hash = "sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd"}, -] -tornado = [ - {file = "tornado-6.1-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:d371e811d6b156d82aa5f9a4e08b58debf97c302a35714f6f45e35139c332e32"}, - {file = "tornado-6.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:0d321a39c36e5f2c4ff12b4ed58d41390460f798422c4504e09eb5678e09998c"}, - {file = "tornado-6.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9de9e5188a782be6b1ce866e8a51bc76a0fbaa0e16613823fc38e4fc2556ad05"}, - {file = "tornado-6.1-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:61b32d06ae8a036a6607805e6720ef00a3c98207038444ba7fd3d169cd998910"}, - {file = "tornado-6.1-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:3e63498f680547ed24d2c71e6497f24bca791aca2fe116dbc2bd0ac7f191691b"}, - {file = "tornado-6.1-cp35-cp35m-manylinux2014_aarch64.whl", hash = "sha256:6c77c9937962577a6a76917845d06af6ab9197702a42e1346d8ae2e76b5e3675"}, - {file = "tornado-6.1-cp35-cp35m-win32.whl", hash = "sha256:6286efab1ed6e74b7028327365cf7346b1d777d63ab30e21a0f4d5b275fc17d5"}, - {file = "tornado-6.1-cp35-cp35m-win_amd64.whl", hash = "sha256:fa2ba70284fa42c2a5ecb35e322e68823288a4251f9ba9cc77be04ae15eada68"}, - {file = "tornado-6.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:0a00ff4561e2929a2c37ce706cb8233b7907e0cdc22eab98888aca5dd3775feb"}, - {file = "tornado-6.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:748290bf9112b581c525e6e6d3820621ff020ed95af6f17fedef416b27ed564c"}, - {file = "tornado-6.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:e385b637ac3acaae8022e7e47dfa7b83d3620e432e3ecb9a3f7f58f150e50921"}, - {file = "tornado-6.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:25ad220258349a12ae87ede08a7b04aca51237721f63b1808d39bdb4b2164558"}, - {file = "tornado-6.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:65d98939f1a2e74b58839f8c4dab3b6b3c1ce84972ae712be02845e65391ac7c"}, - {file = "tornado-6.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:e519d64089b0876c7b467274468709dadf11e41d65f63bba207e04217f47c085"}, - {file = "tornado-6.1-cp36-cp36m-win32.whl", hash = "sha256:b87936fd2c317b6ee08a5741ea06b9d11a6074ef4cc42e031bc6403f82a32575"}, - {file = "tornado-6.1-cp36-cp36m-win_amd64.whl", hash = "sha256:cc0ee35043162abbf717b7df924597ade8e5395e7b66d18270116f8745ceb795"}, - {file = "tornado-6.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7250a3fa399f08ec9cb3f7b1b987955d17e044f1ade821b32e5f435130250d7f"}, - {file = "tornado-6.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:ed3ad863b1b40cd1d4bd21e7498329ccaece75db5a5bf58cd3c9f130843e7102"}, - {file = "tornado-6.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:dcef026f608f678c118779cd6591c8af6e9b4155c44e0d1bc0c87c036fb8c8c4"}, - {file = "tornado-6.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:70dec29e8ac485dbf57481baee40781c63e381bebea080991893cd297742b8fd"}, - {file = "tornado-6.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:d3f7594930c423fd9f5d1a76bee85a2c36fd8b4b16921cae7e965f22575e9c01"}, - {file = "tornado-6.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:3447475585bae2e77ecb832fc0300c3695516a47d46cefa0528181a34c5b9d3d"}, - {file = "tornado-6.1-cp37-cp37m-win32.whl", hash = "sha256:e7229e60ac41a1202444497ddde70a48d33909e484f96eb0da9baf8dc68541df"}, - {file = "tornado-6.1-cp37-cp37m-win_amd64.whl", hash = "sha256:cb5ec8eead331e3bb4ce8066cf06d2dfef1bfb1b2a73082dfe8a161301b76e37"}, - {file = "tornado-6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:20241b3cb4f425e971cb0a8e4ffc9b0a861530ae3c52f2b0434e6c1b57e9fd95"}, - {file = "tornado-6.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:c77da1263aa361938476f04c4b6c8916001b90b2c2fdd92d8d535e1af48fba5a"}, - {file = "tornado-6.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:fba85b6cd9c39be262fcd23865652920832b61583de2a2ca907dbd8e8a8c81e5"}, - {file = "tornado-6.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:1e8225a1070cd8eec59a996c43229fe8f95689cb16e552d130b9793cb570a288"}, - {file = "tornado-6.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:d14d30e7f46a0476efb0deb5b61343b1526f73ebb5ed84f23dc794bdb88f9d9f"}, - {file = "tornado-6.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8f959b26f2634a091bb42241c3ed8d3cedb506e7c27b8dd5c7b9f745318ddbb6"}, - {file = "tornado-6.1-cp38-cp38-win32.whl", hash = "sha256:34ca2dac9e4d7afb0bed4677512e36a52f09caa6fded70b4e3e1c89dbd92c326"}, - {file = "tornado-6.1-cp38-cp38-win_amd64.whl", hash = "sha256:6196a5c39286cc37c024cd78834fb9345e464525d8991c21e908cc046d1cc02c"}, - {file = "tornado-6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f0ba29bafd8e7e22920567ce0d232c26d4d47c8b5cf4ed7b562b5db39fa199c5"}, - {file = "tornado-6.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:33892118b165401f291070100d6d09359ca74addda679b60390b09f8ef325ffe"}, - {file = "tornado-6.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:7da13da6f985aab7f6f28debab00c67ff9cbacd588e8477034c0652ac141feea"}, - {file = "tornado-6.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:e0791ac58d91ac58f694d8d2957884df8e4e2f6687cdf367ef7eb7497f79eaa2"}, - {file = "tornado-6.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:66324e4e1beede9ac79e60f88de548da58b1f8ab4b2f1354d8375774f997e6c0"}, - {file = "tornado-6.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:a48900ecea1cbb71b8c71c620dee15b62f85f7c14189bdeee54966fbd9a0c5bd"}, - {file = "tornado-6.1-cp39-cp39-win32.whl", hash = "sha256:d3d20ea5782ba63ed13bc2b8c291a053c8d807a8fa927d941bd718468f7b950c"}, - {file = "tornado-6.1-cp39-cp39-win_amd64.whl", hash = "sha256:548430be2740e327b3fe0201abe471f314741efcb0067ec4f2d7dcfb4825f3e4"}, - {file = "tornado-6.1.tar.gz", hash = "sha256:33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791"}, -] -typing-extensions = [ - {file = "typing_extensions-4.1.1-py3-none-any.whl", hash = "sha256:21c85e0fe4b9a155d0799430b0ad741cdce7e359660ccbd8b530613e8df88ce2"}, - {file = "typing_extensions-4.1.1.tar.gz", hash = "sha256:1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42"}, -] -urllib3 = [ - {file = "urllib3-1.26.9-py2.py3-none-any.whl", hash = "sha256:44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14"}, - {file = "urllib3-1.26.9.tar.gz", hash = "sha256:aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e"}, -] -zipp = [ - {file = "zipp-3.7.0-py3-none-any.whl", hash = "sha256:b47250dd24f92b7dd6a0a8fc5244da14608f3ca90a5efcd37a3b1642fac9a375"}, - {file = "zipp-3.7.0.tar.gz", hash = "sha256:9f50f446828eb9d45b267433fd3e9da8d801f614129124863f9c51ebceafb87d"}, -] diff --git a/pyproject.toml b/pyproject.toml index 2f2fa7a..cee5d7f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,18 +1,15 @@ -[tool.poetry] -name = "Manual Python Brasil" +[project] +name = "manual-python-brasil" version = "0.1.0" -description = "" -authors = ["Marco Rougeth "] +description = "Manual do Big Kahuna: guia para a organização de eventos Python" +authors = [ + { name = "Marco Rougeth", email = "rougeth@users.noreply.github.com" }, +] +requires-python = ">=3.13" +dependencies = [ + "mkdocs>=1.6.1", + "mkdocs-material>=9.5", +] -[tool.poetry.dependencies] -python = "^3.8" -Sphinx = "^4.4.0" -myst-parser = "^0.17.0" -sphinx-autobuild = "^2021.3.14" -furo = "^2022.3.4" - -[tool.poetry.dev-dependencies] - -[build-system] -requires = ["poetry-core>=1.0.0"] -build-backend = "poetry.core.masonry.api" +[tool.uv] +package = false diff --git a/source/CONTRIBUTING.md b/source/CONTRIBUTING.md deleted file mode 100644 index 122ea4a..0000000 --- a/source/CONTRIBUTING.md +++ /dev/null @@ -1,22 +0,0 @@ -.. index:: - single: Sobre a Python Brasil - -# Guia de Atualização do Manual - -Este guia orienta sobre a inserção de novos conteúdos no Manual da Big Kahuna do ponto de vista de padronização de dados e informações, bem como da formatação utilizada para o conteúdo. - -**Sumário** - -## Inserindo dados da Python Brasil -Para inserir os dados do evento que você acaba de realizar, você deve criar um arquivo dentro da pasta `source/introducao/historia` com as seguintes características: - -- Formato: Markdown; -- Título: `pythonbrasil[número da edição]` -- Conteúdo: - -``` -.. index:: - single: Python Brasil [ANO DE REALIZAÇÃO DO EVENTO] - -[Em construção ...] -``` diff --git a/source/conf.py b/source/conf.py deleted file mode 100644 index d33d8ca..0000000 --- a/source/conf.py +++ /dev/null @@ -1,222 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Manual do Big Kahuna documentation build configuration file, created by -# sphinx-quickstart on Mon Oct 3 18:13:11 2011. -# -# This file is execfile()d with the current directory set to its containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - -import sys, os - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -#sys.path.insert(0, os.path.abspath('.')) - -# -- General configuration ----------------------------------------------------- - -# If your documentation needs a minimal Sphinx version, state it here. -#needs_sphinx = '1.0' - -# Add any Sphinx extension module names here, as strings. They can be extensions -# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = [ - "myst_parser", -] - -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] - -# The suffix of source filenames. -source_suffix = { - '.md': 'markdown', - '.rst': 'restructuredtext', - '.txt': 'restructuredtext', -} - -# The encoding of source files. -#source_encoding = 'utf-8-sig' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -project = u'Manual do Big Kahuna' -copyright = u'2011, Associação Python Brasil' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -version = '7' -# The full version, including alpha/beta/rc tags. -release = '7.01' - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -language = 'pt_BR' - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# Else, today_fmt is used as the format for a strftime call. -today_fmt = '%d/%m/%Y' - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -exclude_patterns = [] - -# The reST default role (used for this markup: `text`) to use for all documents. -#default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -#add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -#show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' - -# A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] - - -# -- Options for HTML output --------------------------------------------------- - -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. -html_theme = 'furo' - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -#html_theme_options = {} - -# Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -html_title = 'Manual do Big Kahuna' - -# A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -#html_logo = None - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -#html_favicon = None - -# 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'] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} - -# If false, no module index is generated. -#html_domain_indices = True - -# If false, no index is generated. -#html_use_index = True - -# If true, the index is split into individual pages for each letter. -#html_split_index = False - -# If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True - -# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True - -# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -#html_use_opensearch = '' - -# This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None - -# Output file base name for HTML help builder. -htmlhelp_basename = 'ManualdoBigKahunadoc' - - -# -- Options for LaTeX output -------------------------------------------------- - -# The paper size ('letter' or 'a4'). -#latex_paper_size = 'letter' - -# The font size ('10pt', '11pt' or '12pt'). -#latex_font_size = '10pt' - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, author, documentclass [howto/manual]). -latex_documents = [ - ('index', 'ManualdoBigKahuna.tex', u'Manual do Big Kahuna Documentation', - u'APyB', 'manual'), -] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -#latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -#latex_use_parts = False - -# If true, show page references after internal links. -#latex_show_pagerefs = False - -# If true, show URL addresses after external links. -#latex_show_urls = False - -# Additional stuff for the LaTeX preamble. -#latex_preamble = '' - -# Documents to append as an appendix to all manuals. -#latex_appendices = [] - -# If false, no module index is generated. -#latex_domain_indices = True - - -# -- Options for manual page output -------------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - ('index', 'manualdobigkahuna', u'Manual do Big Kahuna', - [u'APyB'], 1) -] diff --git a/source/index.md b/source/index.md deleted file mode 100644 index dbc9cbc..0000000 --- a/source/index.md +++ /dev/null @@ -1,18 +0,0 @@ -# Manual do Big Kahuna: Guia para a organização da Python Brasil - -Bem vindas ao guia para organização da Python Brasil! - -Este guia tem como objetivo auxiliar às comunidades desde seu interesse em candidatar-se como sede, passando pela organização da conferência, até sua finalização (o pós-evento). Este também é usado como suporte textual do programa de mentoria promovido pela Associação Python Brasil (APyB) para as equipes organizadoras do evento. - -```{toctree} -:maxdepth: 2 - -introducao/introducao -proposta/index -organizacao/index -``` - ---- - -* {ref}`genindex` -* {ref}`search` diff --git a/source/introducao/historia/pyconbrasil.txt b/source/introducao/historia/pyconbrasil.txt deleted file mode 100644 index 7e09ed6..0000000 --- a/source/introducao/historia/pyconbrasil.txt +++ /dev/null @@ -1,90 +0,0 @@ -.. index:: - single: PyConDay 2005 - -PyConBrasil / PyConDay 2005 -=========================== - -Informações Gerais ---------------------- - -+----------------------+-----------------------+ -| Nome Oficial | * PyConDay | -+----------------------+-----------------------+ -| Local | * Unicamp | -| | * Campinas | -| | * São Paulo | -+----------------------+-----------------------+ -| Data | * 28/04/2005 | -| | * 29/04/2005 | -+----------------------+-----------------------+ -| Organizador | * Rodrigo Senra | -+----------------------+-----------------------+ - - -Números ---------------------- - -+----------------------+-----------------------+ -| Palestras | * 14 | -+----------------------+-----------------------+ -| Palestrantes | * N/D | -+----------------------+-----------------------+ -| Treinamentos | * 0 | -+----------------------+-----------------------+ -| Inscritos | * ~ 90 | -+----------------------+-----------------------+ -| Receita Inscrição | * R$1.380,00 | -+----------------------+-----------------------+ -| Patrocinadores | * 0 | -+----------------------+-----------------------+ -| Apoiadores | * 1 | -+----------------------+-----------------------+ -| Receita Patrocínio | * R$0,00 | -+----------------------+-----------------------+ - - -Resumo ---------- - -O PyConDay foi realizada no Centro de Computação da Unicamp, em 2005, sob a -organização do Rodrigo Senra e Rubens Queiroz (responsável pela dicas-l) e -contou com cerca de 90 participantes. - -Planejada inicialmente para ser um encontro de um dia, foi denomindada -PyConDay, mas o evento se expandiu para dois dias de palestras e foi conhecido -como 1o. PyConBrasil. - -O Outro PyConDay -------------------- - -Ainda no mesmo ano, no dia 18 de outubro, houve um evento de um dia, -organizado pela equipe do SERPRO/RJ: Giuseppe Romagnoli, Maria-Prado Lima, -Luis Guilherme Aldabalde, entre outros. Este evento se chamou PyConDay e foi -realizado no Serpro RJ, mostrando o vigor da comunidade e a demanda por uma -conferência de Python periódica e de abrangência regional. - -Este evento não é considerado **oficialmente** na contagem da PythonBrasil, mas -é utilizado para a explicação do índice que parece começar em 1 no logotipo das -edições mais recentes. -- ex: PythonBrasil[5] (deveria ser PythonBrasil[4]). - -Inscrições ----------------- - -+----------------------+------------------+------------------+------------------+------------------+ -| Categoria | Até 11/04/2005 | Até 18/04/2005 | Até 25/04/2005 | Depois de 26/04 | -+======================+==================+==================+==================+==================+ -| Individual | 15,00 | 20,00 | 25,00 | 30,00 | -+----------------------+------------------+------------------+------------------+------------------+ - -.. note:: Todo o faturamento com inscrições foi revertido para a Casa de - Repouso Bom Pastor. - - -Imagens do evento --------------------- - -.. image:: ../../imagens/senra.jpg - -.. image:: ../../imagens/pyconday.jpg - -.. image:: ../../imagens/pythonbrasil-1.jpg diff --git a/source/introducao/historia/pyconbrasil2.txt b/source/introducao/historia/pyconbrasil2.txt deleted file mode 100644 index 7b363e7..0000000 --- a/source/introducao/historia/pyconbrasil2.txt +++ /dev/null @@ -1,74 +0,0 @@ -.. index:: - single: PyConBrasil 2006 - -PyConBrasil 2006 -======================== - -Informações Gerais ---------------------- - -+----------------------+-----------------------+ -| Nome Oficial | * PyConBrasil 2006 | -+----------------------+-----------------------+ -| Local | * Interlegis | -| | * Brasília | -| | * Distrito Federal | -+----------------------+-----------------------+ -| Data | * 01/06/2006 | -| | * 02/06/2006 | -+----------------------+-----------------------+ -| Organizador | * Jean Rodrigo Ferri | -+----------------------+-----------------------+ - -Números ---------------------- - -+----------------------+-----------------------+ -| Palestras | * 16 | -+----------------------+-----------------------+ -| Palestrantes | * N/D | -+----------------------+-----------------------+ -| Treinamentos | * 8 | -+----------------------+-----------------------+ -| Inscritos | * ~ 180 | -+----------------------+-----------------------+ -| Receita Inscrição | * R$0,00 | -+----------------------+-----------------------+ -| Patrocinadores | * 0 | -+----------------------+-----------------------+ -| Apoiadores | * 0 | -+----------------------+-----------------------+ -| Receita Patrocínio | * R$0,00 | -+----------------------+-----------------------+ - - -Resumo ---------- - -A PyConBrasil 2006 foi realizada no Interlegis, em Brasília, sob organização de -Jean Rodrigo Ferri e sua equipe. Foram cerca de 180 participantes. - -Nessa edição foram incluídos os minicursos de quatro horas de duração em -paralelo às palestras. - -Outra novidade foram as palestras-relâmpago, com cinco minutos de duração, -que são tradicionais em eventos da comunidade Python ao redor do mundo. - - -Inscrições ----------------- - -+----------------------+------------------+ -| Categoria | Até o evento | -+======================+==================+ -| Individual | N/A | -+----------------------+------------------+ - - -.. note:: As normas do Interlegis impedem a cobrança pelas inscrições bem como - a comercialização de produtos. - -Imagens ---------- - -.. image:: ../../imagens/pythonbrasil-2.jpg diff --git a/source/introducao/historia/pyconbrasil2008.txt b/source/introducao/historia/pyconbrasil2008.txt deleted file mode 100644 index 5df7a7a..0000000 --- a/source/introducao/historia/pyconbrasil2008.txt +++ /dev/null @@ -1,213 +0,0 @@ -.. index:: - single: PyConBrasil 2008 - -PyConBrasil 2008 -======================== - -Informações Gerais ---------------------- - -Nome oficial do evento: PyConBrasil 2008 - -Organizador: Luis Gustavo Neves - -+----------------------+-----------------------+ -| Nome Oficial | * PyConBrasil 2008 | -+----------------------+-----------------------+ -| Local | * UVA | -| | * Rio de Janeiro | -| | * Rio de Janeiro | -+----------------------+-----------------------+ -| Data | * 18/09/2008 | -| | * 19/09/2008 | -| | * 20/09/2008 | -+----------------------+-----------------------+ - - -Números ---------------------- - -+----------------------+-----------------------+ -| Palestras | * 45 | -+----------------------+-----------------------+ -| Palestrantes | * 35 | -+----------------------+-----------------------+ -| Treinamentos (3h) | * 4 | -+----------------------+-----------------------+ -| Inscritos | * ~350 | -+----------------------+-----------------------+ -| Receita Inscrição | * N/D | -+----------------------+-----------------------+ -| Patrocinadores | * 3 | -+----------------------+-----------------------+ -| Apoiadores | * 3 | -+----------------------+-----------------------+ -| Receita Patrocínio | * R$ 41.040 | -+----------------------+-----------------------+ - - -Resumo ---------- - -A PyConBrasil 2008 foi realizada no Rio de Janeiro, na Universidade Veiga de -Almeida (UVA). - -O evento foi organizado por Luis Gustavo Neves com o apoio de uma grande comissão -organizadora para execução: - -* Carlos Ferreira (Serpro) -* Cláudio Berrondo (INPI) -* Flávio Coelho (Fiocruz) -* Giuseppe Romagnolli (Serpro) -* John Edson (Gama Filho) -* Luiz Guilherme Aldabalde (Serpro) -* Mônica Teresa Aragon e Anderson Namen (UVA) - -Esta edição contou com palestrantes internacionais convidados -como Keynote Speaker: Bruce Eckel e Alexander Limi, que tiveram sua vinda ao evento -paga pela APyB e pelo faturamento do próprio evento. - -Esta edição trouxe duas grandes inovações: os Open Spaces, incentivados por -Bruce Eckel, e o convite a um representante de outra linguagem de programação, -neste caso, Roberto Ierusalimschy, criador da linguagem Lua. - -O evento contou com 350 inscritos e teve transmissão simultânea -com média de 300 participantes online e -pico de 500 participantes na palestra do Bruce Eckel. -Ocorreram 45 palestras e 4 treinamentos em -paralelo às palestras. Os patrocinadores disponibilizaram também um *lounge* -junto a seus estandes, com internet disponível a todos. - -Foi realizada mais uma assembleia da APyB na qual foram eleitos novos -representantes e feitas modificações no estatuto. - -**Programação:** - -As palestras e treinamentos ocorreram em três dias, conforme grade abaixo: -http://plone.python.org.br:8120/pycon/2008/sobre-o-evento/programacao - -**Keynotes speakers:** - -* Alexander Limi -* Bruce Eckel - -**Tivemos:** - -* Open Spaces (novidade) -* Keynotes Speakers (novidade) -* Palestra da linguagem convidada (novidade) -* Dojo (novidade) -* Transmissão simultânea -* Foto Oficial (http://plone.python.org.br:8120/pycon/2008/sobre-o-evento/fotos/pyconbrasil2008/) -* Filmagem (todas no YouTube da Python Brasil: https://www.youtube.com/results?search_query=pyconbrasil+2008) -* Tradução simultânea -* Agência Oficial (Nativa Brasil - travel & consulting) -* Lounge e stand de patrocinadores -* Kit do participante com bolsa de nylon, bloco, caneta, DVD (tutoriais de Python), - camiseta e grade impressa - -Comercialização ------------------- - -A APyB decidiu continuar com o modelo de contratação de uma empresa -para a gestão da parte comercial do evento. - -Para esta edição a empresa escolhida foi o ILTC -- Instituto de Lógica, -Filosofia e Teoria da Ciência -- remunerada em 10% dos recursos obtidos durante -o evento. - -Inscrições ----------------- - -+----------------------+------------------+ -| Categoria | Valor | -+======================+==================+ -| APyB / Estudantes | R$ 25 | -+----------------------+------------------+ -| SBC / Abraweb | R$ 35 | -+----------------------+------------------+ -| Individual | R$ 45 | -+----------------------+------------------+ - -Patrocinadores ------------------- - -+----------------------+------------------------+ -| Serpro | * R$ 20.000 | -+----------------------+------------------------+ -| Globo.Com | * R$ 10.000 | -+----------------------+------------------------+ -| Locaweb | * R$ 7.840 | -+----------------------+------------------------+ - -Apoiadores ------------------- - -+----------------------+-------------------------+ -| UVA | * local do evento | -| | * infraestrutura | -| | * logística operacional | -| | * segurança | -| | * limpeza | -| | * apoio turístico | -| | * apoio de mídia | -+----------------------+-------------------------+ -| Simples Consultoria | * Site do evento | -+----------------------+-------------------------+ -| Async | * R$ 1.200 | -+----------------------+-------------------------+ -| Paradigma | * R$ 1.000 | -+----------------------+-------------------------+ -| Softrent | * R$ 1.000 | -+----------------------+-------------------------+ - - -Site do evento ----------------- - -http://plone.python.org.br:8120/pycon/2008 - -Detalhes finais do evento - http://plone.python.org.br:8120/pycon/2008/saiba-mais/noticias/encerramento-da-pyconbrasil-2008 - -Imagens ---------- - -http://plone.python.org.br:8120/pycon/2008/sobre-o-evento/fotos/pyconbrasil2008/ - -.. image:: ../../imagens/pyconbrasil2008-oficial.jpg - - -Feedback dos participantes ---------------------------- -**"Não sou um Programador/Desenvolvedor mas usando Python fiz coisas que jamais faria em outras linguagens (...) -Me senti em casa no evento, o pessoal da comunidade está de parabéns!"** -(Alan Porto) - -Observação: esse é parte do depoimento de Alan Porto, redator e revisor da revista Fedora Brasil -que trouxe na edição seguinte uma matéria sobre a PyConBrasil 2008. A revista tem o objetivo de -apresentar e divulgar o Fedora (GNU/Linux), além de desenvolver matérias e tutorias para ajudar -os usuários mais leigos com a finalidade de quebrar o paradigma de que Linux é difícil. - -**"Brazilians are very warm and friendly, and PyConBrasil in Rio de Janeiro had over 300 very -enthusiastic and committed Python programmers."** -(Bruce Eckel) - -Observação: texto retirado do blog de Bruce Eckel (www.BruceEckel.com), autor -de Thinking in Java (Prentice-Hall, 1998, 2nd Edition, 2000, 3rd Edition, -2003, 4th Edition, 2005), the Hands-On Java Seminar CD ROM, Thinking in C++ -(PH 1995; 2nd edition 2000, Volume 2 with Chuck Allison, 2003), C++ Inside & Out -(Osborne/McGraw-Hill 1993), entre outros. Ele já fez centenas de apresentações -pelo mundo, publicou em torno de 150 artigos em diversas revistas, é um membro -fundador do comitê ANSI/ISO C++ e fala regularmente em conferências. - -**"Creio que Python deve ser utilizada como a primeira linguagem de programação -a ser aprendida por estudantes de Ciência da Computação. É uma linguagem contemporânea, -com uma sintaxe enxuta e um conjunto muito bem definido de estruturas de dados, -de mecanismos de controle e de modularização, que facilitam em muito a utilização -de metodologias de programação ágeis, muito importantes nas etapas iniciais da -aprendizagem da programação. Python conta também com uma ampla coleção de módulos -(bibliotecas) com interfaces sempre definidas de modo bem intuitivo, o que estimula -em muito os alunos iniciantes a se aventurarem com segurança na pesquisa de novas aplicações."** - -(Antônio Carlos da Rocha Costa - Escola de Informática - Coord. Prog. de Pós-grad. -Informática na Universidade Católica de Pelotas) diff --git a/source/introducao/historia/pyconbrasil3.txt b/source/introducao/historia/pyconbrasil3.txt deleted file mode 100644 index 21ebf3b..0000000 --- a/source/introducao/historia/pyconbrasil3.txt +++ /dev/null @@ -1,104 +0,0 @@ -.. index:: - single: PyConBrasil 2007 - -PyConBrasil 2007 -======================== - -Informações Gerais ---------------------- - -+----------------------+-----------------------+ -| Nome Oficial | * PyConBrasil[3] | -+----------------------+-----------------------+ -| Local | * SOCIESC | -| | * Joinville | -| | * Santa Catarina | -+----------------------+-----------------------+ -| Data | * 30/08/2007 | -| | * 31/08/2007 | -| | * 01/09/2007 | -+----------------------+-----------------------+ -| Organizador | * Marco André Lopes | -+----------------------+-----------------------+ - -Números ---------------------- - -+----------------------+-----------------------+ -| Palestras | * 30 | -+----------------------+-----------------------+ -| Palestrantes | * N/D | -+----------------------+-----------------------+ -| Treinamentos | * 10 | -+----------------------+-----------------------+ -| Inscritos | * 235 | -+----------------------+-----------------------+ -| Receita Inscrição | * N/D | -+----------------------+-----------------------+ -| Patrocinadores | * 5 | -+----------------------+-----------------------+ -| Apoiadores | * 0 | -+----------------------+-----------------------+ -| Receita Patrocínio | * R$51.500,00 | -+----------------------+-----------------------+ - - -Resumo ---------- - -A PyConBrasil[3] foi realizada em 2007, na SOCIESC, em Joinville/SC. - -O evento foi organizado por Marco André Lopes Mendes, que liderou uma equipe de -voluntários e contratados para a realização do evento. - -Foram três dias de evento, mais uma noite de pré-evento, quando foi -realizada a Assembléia da Associação Python Brasil para a eleição de uma -nova diretoria. O evento contou com de 235 inscritos. - -O programa continha 30 palestras (50 se contarmos as palestras-relâmpago que -faziam parte da grade) e 10 minicursos. - -Esta edição foi a primeira a contar com um palestrante internacional, Nate Aune, -e uma outra novidade foi a realização de uma feira de expositores. - -Comercialização ------------------- - -Diferentemente do que havia ocorrido em Campinas e em Brasília, esta edição do -evento contou com a presença de patrocinadores. - -A comercialização foi realizada pela empresa Solucto, remunerada em 25% do valor -total dos patrocínios. - -Inscrições ----------------- - -+----------------------+------------------+ -| Categoria | Valor | -+======================+==================+ -| Estudantes | 15,00 | -+----------------------+------------------+ -| SBC / Abraweb | 20,00 | -+----------------------+------------------+ -| Individual | 30,00 | -+----------------------+------------------+ - -Patrocinadores ------------------- - -+----------------------+-----------------------+ -| INdT | * R$20.000,00 | -+----------------------+-----------------------+ -| Intel | * R$10.000,00 | -+----------------------+-----------------------+ -| PyTown | * R$10.000,00 | -+----------------------+-----------------------+ -| Serpro | * R$6.500,00 | -+----------------------+-----------------------+ -| Simples Consultoria | * R$5.000,00 | -+----------------------+-----------------------+ - -Imagens ---------- - -.. image:: ../../imagens/pythonbrasil-3.jpg diff --git a/source/introducao/historia/pythonbrasil10.txt b/source/introducao/historia/pythonbrasil10.txt deleted file mode 100644 index feee366..0000000 --- a/source/introducao/historia/pythonbrasil10.txt +++ /dev/null @@ -1,142 +0,0 @@ -.. index:: - single: Python Brasil 2014 - -Python Brasil 2014 -======================== - -Informações Gerais ---------------------- - -+----------------------+-------------------------+ -| Nome Oficial | * PythonBrasil[10] | -+----------------------+-------------------------+ -| Local | * Hotel Armação | -| | * Porto de Galinhas | -| | * Recife | -+----------------------+-------------------------+ -| Data | * 04/11/2014 | -| | * 05/11/2014 | -| | * 06/11/2014 | -| | * 07/11/2014 | -| | * 08/11/2014 | -| | * 09/11/2014 | -+----------------------+-------------------------+ -| Organizador | * Renato Oliveira | -+----------------------+-------------------------+ - -Números ---------------------- - -+----------------------+-----------------------+ -| Palestras | * 33 | -+----------------------+-----------------------+ -| Palestrantes | * ~34 | -+----------------------+-----------------------+ -| Keynotes | * 5 | -+----------------------+-----------------------+ -| Treinamentos | * 10 | -+----------------------+-----------------------+ -| Inscritos | * ~350 | -+----------------------+-----------------------+ -| Receita Inscrição | * NDA | -+----------------------+-----------------------+ -| Patrocinadores | * 12 | -+----------------------+-----------------------+ -| Apoiadores | * 10 | -+----------------------+-----------------------+ -| Receita Patrocínio | * NDA | -+----------------------+-----------------------+ - - -Resumo ---------- - -Foi a primeira vez que uma Python Brasil acontece na região Nordeste, e especialmente foi feita em uma das mais belas praias do Brasil, em Porto de Galinhas. - -Os tutoriais foram feitos em Recife, na Porto Mídia. -A conferência aconteceu no Hotel Armação, onde ocorreu o Sprint, que também ocorreu a confraternização dos participantes pós-evento. - -No último dia houve um tour programado de atividades, inclusos passeio de Jangada, Mergulho com cilindro, passeio de buggy e standup paddle. - -Tivemos keynotes muito importantes como: - -- Fernando Perez, criador do Ipython, falando sobre como funciona a ferramenta, as novidades e o que ela pode fazer; - -- Lynn Root, engenheira do Spotify, falando um pouco sobre como Python é utilizado dentro da empresa; - -- Daniel Greenfield, o Pydanny, comentando sobre suas experiências em trabalhar em grandes projetos, como na NASA e no Eventbrite, empresa atual em que trabalha; - -- Alex Gaynor, engenheiro do Rackspace, comentando de suas experiências em colaborar em projetos open source, o interior do Python e diversas coisas mais; - -- José Valim, palestrante convidado de outra linguagem, falando um pouco sobre o Elixir, uma linguagem de programação funcional que o próprio criou, comentando sobre o que levou a criação da linguagem, o futuro dela e também o que ela pode oferecer aos desenvolvedores. - -O ganhador do prêmio Dorneles Treméa foi o Osvaldo Santana Neto. - -Site da conferência: http://2014.pythonbrasil.org.br/index.html - -Inscrições ----------------- -NDA - -Patrocinadores ------------------- - -+----------------------+-----------------------+ -| Google | * Diamante | -+----------------------+-----------------------+ -| Nic.br - CGI.br | * Platina | -+----------------------+-----------------------+ -| LuizaLabs | * Ouro | -+----------------------+-----------------------+ -| Evolux | * Ouro | -+----------------------+-----------------------+ -| Globo.com | * Ouro | -+----------------------+-----------------------+ -| PSF | * Ouro | -+----------------------+-----------------------+ -| Rackspace | * Prata | -+----------------------+-----------------------+ -| ZNC Sistemas | * Prata | -+----------------------+-----------------------+ -| Python.pro | * Prata | -+----------------------+-----------------------+ -| Serpro | * Bronze | -+----------------------+-----------------------+ -| Github | * Bronze | -+----------------------+-----------------------+ - - -Apoiadores ------------------- - -+-----------------------+-----------------------+ -| Welcome to the Django | NDA | -+-----------------------+-----------------------+ -| Pycharm | NDA | -+-----------------------+-----------------------+ -| Two Scoops of Django | NDA | -+-----------------------+-----------------------+ -| Eventbrite | NDA | -+-----------------------+-----------------------+ -| Porto Digital | NDA | -+-----------------------+-----------------------+ -| Porto Mídia | NDA | -+-----------------------+-----------------------+ -| Open Mining | NDA | -+-----------------------+-----------------------+ -| O'Reilly | NDA | -+-----------------------+-----------------------+ -| Editora Novatec | NDA | -+-----------------------+-----------------------+ -| Citi | NDA | -+-----------------------+-----------------------+ - -Imagens ---------- - -https://www.flickr.com/photos/pythonbrasil/ - -Vídeos ---------- - -Infelizmente houve um problema grave com a produtora responsável pela gravação dos vídeos da conferência, com isso os vídeos foram perdidos. \ No newline at end of file diff --git a/source/introducao/historia/pythonbrasil11.txt b/source/introducao/historia/pythonbrasil11.txt deleted file mode 100644 index d28fbce..0000000 --- a/source/introducao/historia/pythonbrasil11.txt +++ /dev/null @@ -1,239 +0,0 @@ -.. index:: - single: Python Brasil 2015 - -Python Brasil 2015 -======================== - -Informações Gerais ---------------------- - -+-----------------------------+------------------------+---------------------------------------------------------------------+ -| O que? | Quando? | Onde? | -+=============================+========================+=====================================================================+ -| **PythonBrasil[11]** | 07/11 a 11/11/2015 | Novotel - São José dos Campos | -+-----------------------------+------------------------+---------------------------------------------------------------------+ -| **Treinamentos** | 07/11 e 08/11/2015 | Fatec São José dos Campos - Prof. Jessen Vidal | -+-----------------------------+------------------------+---------------------------------------------------------------------+ -| **Conferências** | 09/11 a 10/11/2015 | Novotel - São José dos Campos | -+-----------------------------+------------------------+---------------------------------------------------------------------+ -| **Festa** | 09/11/2015 | Kart Center | -+-----------------------------+------------------------+---------------------------------------------------------------------+ -| **Sprint da Conferência** | 11/11/2015 | Parque tecnológico - São José dos Campos | -+-----------------------------+------------------------+---------------------------------------------------------------------+ -| **Organizador** | 07/11 a 11/11/2015 | Renzo Nuccitelli | -+-----------------------------+------------------------+---------------------------------------------------------------------+ - - -Números ---------------------- - -+--------------------------------+-----------------------+ -| Palestras | * 36 | -+--------------------------------+-----------------------+ -| Palestrantes | * ~38 | -+--------------------------------+-----------------------+ -| Keynotes | * 5 | -+--------------------------------+-----------------------+ -| Treinamentos | * 26 | -+--------------------------------+-----------------------+ -| Inscritos | * 395 | -+--------------------------------+-----------------------+ -| Receita Inscrição | * 18.000,00 | -+--------------------------------+-----------------------+ -| Mulheres no evento | * ~12% | -+--------------------------------+-----------------------+ -| Inscritos no treinamento | * ~200 | -+--------------------------------+-----------------------+ -| Patrocinadores | * 16 | -+--------------------------------+-----------------------+ -| Apoiadores | * 3 | -+--------------------------------+-----------------------+ -| Receita Patrocínio | * ~73.600,00 | -+--------------------------------+-----------------------+ - - -Resumo ---------- - -O evento da Python Brasil volta ao Estado de São Paulo, só que dessa vez organizado pela comunidade do Vale do Parnaíba, em São José dos Campos. - -Site da conferência: http://pythonbrasil.github.io/pythonbrasil11-site/ - -Foi organizada por uma equipe de voluntários, tais como: - -* Eric Hideki (Sampa) -* Marina Ribeiro (Rio) -* Renzo Nuccitelli (SJC) -* Cláudio Berrondo (Rio) -* Júlio Melanda (SJC) -* Carlos Eduardo de Oliveira (Hacker Clube/SJC) -* Carlos Eduardo Leite [cadu] (SJC) -* Renato Oliveira (Recife) -* Felipe Ximenes [Xima] (Recife) -* Luiz Vital (SJC) -* Thiago Avelino [XXXLinus] (Sampa) -* Fábio Barrionuevo (Palmas) -* Denis Costa (SJC) -* Michel Amaral (Designa / Pinda) -* Junior (Viva Real / Sampa) -* Fábio Luis (Hacker Clube/SJC) -* Verônica (Django Girls/SJC) -* Lidiane (Recife) -* Ricardo Savii (SJC) -* Roger (SJC) -* João Mateus Scarpa (Designa / Taubaté) -* Josiane (SJC) -* José Thomazini [Thomaz] (SJC) -* Marcelo Tambalo (SJC) -* Guto Maia (Salvador) -* Luciano Ramalho (Sampa) -* Arakaki (Fatec/SJC) -* Sakawe (Fatec/SJC) -* Massanori (SJC) -* Marcelo Nunes (CECOMPI/SJC) -* Diego Nicolau (SJC) -* Mauro Assis [Maurão] (Hacker Clube/SJC) -* Alex Porto (Hacker Clube/SJC) -* Paula Granjeiro (DjangoGirls/Rio) -* Tânia Andrea (Brasília) -* Estefânia (Django Girls / SJC) -* Erico Andrei (Sampa) -* Joao Bueno [JS] (Campinas) - -**Tutoriais:** - -Os tutoriais foram realizados na Fatec SJC, onde foram gratuítos, com inscrições separadas dos participantes da conferência. Dessa forma, quem não pudesse comparecer a conferência poderia ir aos tutoriais. O Coffee break dos dois dias do evento foram arcados pelos valores arrecadados para a conferência. - -Tivemos uma média de 200 pessoas (Tutorial Django Girls e outros) durante os dois dias. As fotos dos tutoriais podem ser vistos na página oficial da comunidade (pythonbrasil), e as fotos do tutorial das Django Girls - https://www.flickr.com/photos/djangogirlssjc/ - -**Conferência:** - -A conferência foi realizada no Novotel - São José dos Campos. Local bem localizado ao lado da Dutra, de fácil acesso de carro, com diversas opções de hospedagem ao redor para quem desejava uma opção mais econômica de estadia. - -Tivemos o open space, um espaço aberto (sala) onde as pessoas puderam se reunir seja para trabalho, discussões, descanço, etc. - -Houveram 36 palestras, divididas em 4 trilhas: Iniciantes (Zumbis), Cloud/Web, Carreira/Lifestyle/Casos de sucesso e Big data, onde cada trilha foi coordenada por um responsável. Tais como: Denis Costa, Eric Hideki, Julio Melanda, Ricardo Savii. - -Fecharam um local próximo ao evento para a confraternização do primeiro dia, um Kart/Karaokê/Bar, onde foi paga a comida a todos os presentes, sendo as bebidas a parte. A pé dava o tempo de 5 minutos de distância do hotel da conferência. - -Nas ligthning talks, foi oferecido espaço aos patrocinadores poderem falar rapidamente sobre suas empresas, o que estão fazendo e oferecendo oportunidades. - -**Os Keynotes:** - -* **Bryan Van de Ven** - Bryan is a senior software engineer at Continuum Analytics, and is the project lead for the Open Source Bokeh visualization system. -* **David Beazley** - Author of the Python Essential Reference and Python Cookbook. He is an independent software developer, teacher, and book author living in the city of Chicago. -* **Luiza Nunes** - Joseense, graduated at FATEC SJC, Luiza nurtures Agile and SW development with her experience as Quality Advocate Consultant at ThoughtWorks Brazil.She has worked with several domains and team sizes in different ThoughtWorks offices around the world. -* **Rafael Gonçalves** - Rafael Gonçalves fez Engenharia Mecatrônica e Mestrado na Poli/USP. Trabalhou no Fraunhofer Institute. É fundador da Tegris e do FieldLink.me. Em 2014 assumiu a coordenação do escritório de desenvolvimento de sistemas digitais da FDTE. -* **Tânia Andrea** - Gerente de projetos na ZNC Sistemas. Formada em Ciência da Computação com Pós em Software Livre e Gestão de Projetos. Organizou a PythonBrasil[9] / PloneConf 2013. Atuou na Polícia Federal, Presidência, MJ, MRE, Apex-Brasil, Codevasf e é consultora externa de TI. - -**Tivemos:** - - * Open Spaces - * Keynotes Speakers - * Palestra convidada retirada para Assembléia da Apyb - * Palestras Relâmpago - * Prêmios (Prêmio Dorneles Treméa) - * Foto Oficial - * Filmagem (todas no YouTube da Python Brasil: https://www.youtube.com/user/pythonbrazil) - * Tradução simultânea - * A Festa - * Sprint da conferência - * Hall de exposição (6 m2) - * Kit do participante com camiseta, pasta, caneta, adesivos, grade do evento, dentre outros - - -**Hall de exposição:** - -Stands dos patrocinadores (IBM, Luizalabs, Scrapinghub, Glogo.com), venda de livros Novatec e realização dos coffee-breaks. - -**Prêmios:** - -Neste ano o Prêmio Dorneles Treméa foi para... - -* **Tania Andréa** - Gerente de projetos na ZNC Sistemas. Formada em Ciência da Computação com Pós em Software Livre e Gestão de Projetos. Organizou a PythonBrasil[9] / PloneConf 2013. Atuou na Polícia Federal, Presidência, MJ, MRE, Apex-Brasil, Codevasf e é consultora externa de TI. - -Patrocinadores ------------------- - -+----------------------------+-----------------------+ -| LuizaLabs | * Diamante | -+----------------------------+-----------------------+ -| Globo.com | * Ouro | -+----------------------------+-----------------------+ -| IBM | * Ouro | -+----------------------------+-----------------------+ -| Scrapinghub | * Ouro | -+----------------------------+-----------------------+ -| Loggi | * Ouro | -+----------------------------+-----------------------+ -| Thoughtworks | * Silver | -+----------------------------+-----------------------+ -| Toptal | * Prata | -+----------------------------+-----------------------+ -| Evolux | * Prata | -+----------------------------+-----------------------+ -| Axado | * Prata | -+----------------------------+-----------------------+ -| Imax | * Prata | -+----------------------------+-----------------------+ -| Designa | * Prata | -+----------------------------+-----------------------+ -| ZNC Sistemas | * Prata | -+----------------------------+-----------------------+ -| Pythonpro | * Prata | -+----------------------------+-----------------------+ -| Continuum Analytics | * Prata | -+----------------------------+-----------------------+ -| Python Software Foundation | * Prata | -+----------------------------+-----------------------+ -| Django | * Bronze | -+----------------------------+-----------------------+ - - -Apoiadores ------------------- - -+------------------------------------------------+-------------------------------+ -| Fatec São José dos Campos - Prof. Jessen Vidal | Apoio com os tutoriais | -+------------------------------------------------+-------------------------------+ -| Thoughtworks | Doação de livros para sorteio | -+------------------------------------------------+-------------------------------+ -| Novatec | Doação de livros para sorteio | -+------------------------------------------------+-------------------------------+ - - -Imagens ---------- - -**Fotos do primeiro dia** - https://drive.google.com/folderview?id=0B5BSRajJ1TiTWlgwejRIbEtjYTQ&usp=sharing&tid=0B5BSRajJ1TiTcFVVTnJ3bGhoZVU - -**Fotos do segundo dia** - https://drive.google.com/folderview?id=0B5BSRajJ1TiTb29NSFdqNy0wN1k&usp=sharing&tid=0B5BSRajJ1TiTcFVVTnJ3bGhoZVU - -**Feedback dos participantes pela hashtag #pybr11** - https://twitter.com/search?f=tweets&vertical=default&q=%23pybr11&src=tyah - -Vídeos ---------- - -**Vídeos oficiais** - https://www.youtube.com/user/pythonbrazil - -**Fatos e fotos - Primeiro dia** - https://www.youtube.com/watch?v=jq9rVXorG_w - -**Fatos e fotos - Segundo dia** -https://www.youtube.com/watch?v=6Joe6JS9sBM - -**Vídeo chamada do Big Kahuna Renzo Nuccitelli** - https://www.youtube.com/watch?v=zoCAGHTybGQ - -**Vídeo chamada do Luciano Ramalho sobre patrocínio** - https://www.youtube.com/watch?v=2-zeQukmDI4 - - -Feedback dos Participantes --------------------------- - -**Linux pro** - http://www.linuxpro.com.br/2015/11/moments-pycon-brasil-11.html - -**Programe em Python** - http://programeempython.blog.br/blog/python-brasil-2015/ - -**Programando Ciência** - http://programandociencia.com/2015/11/27/evento-programando-ciencia-na-python-brasil-11/ - -**Marcus Beckenkamp** - http://mbeck.com.br/blog/papo/sobre-python-brasil-2015 - -**Pequena aprendiz Geek** - https://pequenaaprendizgeek.wordpress.com/2015/11/22/djangogirls-workshop-com-from-djangogirls-import-surpresinhas/ diff --git a/source/introducao/historia/pythonbrasil12.txt b/source/introducao/historia/pythonbrasil12.txt deleted file mode 100644 index 3d7767a..0000000 --- a/source/introducao/historia/pythonbrasil12.txt +++ /dev/null @@ -1,204 +0,0 @@ -.. index:: - single: Python Brasil 2016 - -Python Brasil 2016 -======================== - -Informações Gerais ---------------------- - -+----------------------+------------------------------------------+ -| Nome Oficial | * Python Brasil[12] | -+----------------------+------------------------------------------+ -| Local | * Centro de Convenções CentroSul | -+----------------------+------------------------------------------+ -| Data | * 13/10 a 18/10/2016 | -+----------------------+------------------------------------------+ -| Organizador | * Mário Sérgio Oliveira de Queiroz | -+----------------------+------------------------------------------+ - -Números ---------------------- - -+----------------------+-----------------------+ -| Palestras | 45 | -+----------------------+-----------------------+ -| Palestrantes | 51 | -+----------------------+-----------------------+ -| Keynotes | 5 | -+----------------------+-----------------------+ -| Tutoriais | 19 | -+----------------------+-----------------------+ -| Inscritos | 520 | -+----------------------+-----------------------+ -| Receita Inscrição | R$ 52.144,40 | -+----------------------+-----------------------+ -| Patrocinadores | 10 | -+----------------------+-----------------------+ -| Parceiros | 7 | -+----------------------+-----------------------+ -| Apoios | 5 | -+----------------------+-----------------------+ -| Receita Patrocínio | R$ 94.214,61 | -+----------------------+-----------------------+ - - -Resumo ---------- - -O evento foi realizado em Outubro de 2016, em Florianópolis, Santa Catarina. -Nos dias 13 e 14, respectivamente quinta-feira e sexta-feira, iniciaram os tutoriais na faculdade Cesusc. -Entre os dias 15 e 17, ocorreu o evento principal no Centro de Convenções em 3 auditórios, com espaços comuns e food trucks. -O último dia da conferência foi no prédio da incubadora Celta, com uma participação de mais de 100 pessoas no Sprint. - -Site: http://2016.pythonbrasil.org.br/ - -Voluntários: - -* Mário Sérgio (Floripa) -* Andre Pastore (Floripa) -* Biguá (Brasília) -* Leticia Portella (Ribeirão Preto) -* Henrique Bastos (Niterói) -* Cadu Leite (SJC) -* Eric Hideki (São Paulo) -* Giovanni Piazza (Floripa) -* Edmar Araujo (Floripa) -* Ivan Ogasawara (Floripa) -* Helber Maciel Guerra (Floripa) -* Guilherme Maba (Floripa) -* Gustavo Carvalho (Teresina) -* Otavio Carneiro (Brasília) -* Luciano Ramalho (São Paulo) -* Victor Koinski (Floripa) -* Daniel Severo (Floripa) -* Humberto Rocha (Brasília) -* Igor Santos (Belo Horizonte) -* Jairo Jair (Floripa) -* Elias Dorneles (Floripa) -* Talita Rossari (Floripa) -* Júlia Machado (Floripa) -* Melissa Weber Mendonça (Floripa) -* Mariany Ferreira (Floripa) -* Magnun Leno (Brasília) -* Marco Rougeth (Ribeirão Preto) -* Turicas (Três Rios) -* Larissa Lautert (Floripa) -* Massanori (SJC) -* Fábio C. Barrionuevo da Luz (Palmas) -* Guto Maia (Salvador) -* Samuel Sampaio (São Paulo) -* Valdir Stumm Junior (Floripa) -* Daniella Helena (Floripa) -* Vanessa Cardoso (Floripa) -* Jonatas Baldin (Floripa) -* Bernardo Fontes (São Paulo) -* Stamatios Stamou Jr (Floripa) -* Matheus Magrin (Floripa) -* Ramiro Luz (Curitiba) -* Ricardo Pascal (Floripa) -* Leonardo Gregorio (Floripa) -* Tânia Andrea (Brasília) -* Layout da página - Designa -* Michel Amaral (Designa / Pinda) -* João Mateus Scarpa (Designa / Taubaté) -* Pedro Henrique Cruz (Brasília) -* Pedro Martins (Brasília) -* Rodolfo Almeida (Floripa) - -**Os Keynotes:** - -Sergio Oliveira Campos - Programação Dinâmica - -Hanneli Tavante - Rust Type System - Quick intro - -Naomi Ceder - Obstáculos à Inclusão, Por que só diversidade não é suficiente - -Sam Agnew - Hacking Classic Nintendo Games with Python - -Russell Keith-Magee - Python all the things! - -**Principais atividades e destaques:** - -Durante o evento principal as nossas palestras relâmpagos deixaram o ambiente ainda mais divertido, pois as pessoas que estavam participando pela primeira vez da conferência foram convocadas a subirem no palco e darem o seu recado. Dessa forma, surgiu o jargão "E essa é a minha primeira Python Brasil". - -Neste ano o Prêmio Dorneles Treméa foi para **Paula Grangeiro** por todo o trabalho de inclusão feito a frente do grupo PyLadies Brasil <3 - -As empresas patrocinadores tiveram os seu espaço para falar também no *jobfair* promovido no segundo dia do evento principal. - -Foram **consumidos mais de 400 litros de chopp** durante os três dias de evento principal no Centro de Convenções Centro Sul. \o/ - - -Patrocinadores ------------------- - -+----------------------------+-----------------------+ -| Globo.com | * Platina | -+----------------------------+-----------------------+ -| Python Software Foundation | * Ouro | -+----------------------------+-----------------------+ -| LuizaLabs | * Ouro | -+----------------------------+-----------------------+ -| Stone Pagamentos | * Ouro | -+----------------------------+-----------------------+ -| Google | * Prata | -+----------------------------+-----------------------+ -| Evolux | * Bronze | -+----------------------------+-----------------------+ -| Thoughtworks | * Bronze | -+----------------------------+-----------------------+ -| Toptal | * Bronze | -+----------------------------+-----------------------+ -| Neoway | * Bronze | -+----------------------------+-----------------------+ -| Necto Systems | * Bronze | -+----------------------------+-----------------------+ - - -Parceiros ------------------- - -+------------------------------------------------+-------------------------------+ -| Cesusc | Local dos tutoriais | -+------------------------------------------------+-------------------------------+ -| Celta | Local dos Sprints | -+------------------------------------------------+-------------------------------+ -| Moblee | Desenvolvimento de app mobile | -+------------------------------------------------+-------------------------------+ -| Geekhunter | Confecção de brindes | -+------------------------------------------------+-------------------------------+ -| Cianet                                         | Elaboração de artes e design | -+------------------------------------------------+-------------------------------+ -| OCA Community                                 | Confecção de brindes | -+------------------------------------------------+-------------------------------+ -| Novatec | Venda de livros no evento | -+------------------------------------------------+-------------------------------+ - -Apoiadores ------------------- - -+------------------------------------------------+-------------------------------+ -| Associação Python Brasil | Apoio fiscal e financeiro    | -+------------------------------------------------+-------------------------------+ -| Myreks                                   | Reserva do local dos Sprints | -+------------------------------------------------+-------------------------------+ -| Django Girls                                   | Organização dos tutorais | -+------------------------------------------------+-------------------------------+ -| PyLadies                                       | Divulgação da conferência | -+------------------------------------------------+-------------------------------+ -| Anitas                                         | Divulgação e apoio operacional| -+------------------------------------------------+-------------------------------+ - -Vídeos e Fotos ---------------- - -Canal oficial no Youtube: https://www.youtube.com/watch?v=6P4v-rOexgA&list=PLDC3uVLxaEQ2QPRucgMwiK22QSgq0aIEJ - -Fotos oficiais: https://www.flickr.com/photos/pythonbrasil/albums/72157671939963093 - -Textos -------- - -Pessoas > Tecnologia: https://medium.com/@sergiomarioq/pessoas-tecnologia-ca688e139e9e - -O que a comunidade Python tem para te oferecer!: https://medium.com/@james.peres.s/o-que-a-comunidade-python-tem-para-te-oferecer-1391a8a06f51 diff --git a/source/introducao/historia/pythonbrasil13.txt b/source/introducao/historia/pythonbrasil13.txt deleted file mode 100644 index 696db3d..0000000 --- a/source/introducao/historia/pythonbrasil13.txt +++ /dev/null @@ -1,47 +0,0 @@ -.. index:: - single: Python Brasil 2017 - -Python Brasil 2017 -======================== - -Informações Gerais ---------------------- - -+----------------------+-------------------------+ -| Nome Oficial | * PythonBrasil[13] | -+----------------------+-------------------------+ -| Local | * NDA | -+----------------------+-------------------------+ -| Data | * NDA | -+----------------------+-------------------------+ -| Organizador | * Igor Santos | -+----------------------+-------------------------+ - -Números ---------------------- - -+----------------------+-----------------------+ -| Palestras | * NDA | -+----------------------+-----------------------+ -| Palestrantes | * NDA | -+----------------------+-----------------------+ -| Keynotes | * NDA | -+----------------------+-----------------------+ -| Treinamentos | * NDA | -+----------------------+-----------------------+ -| Inscritos | * NDA | -+----------------------+-----------------------+ -| Receita Inscrição | * NDA | -+----------------------+-----------------------+ -| Patrocinadores | * NDA | -+----------------------+-----------------------+ -| Apoiadores | * NDA | -+----------------------+-----------------------+ -| Receita Patrocínio | * NDA | -+----------------------+-----------------------+ - - -Resumo ---------- - -O evento será realizado em Outubro de 2017, em Belo Horizonte, Minas Gerais \ No newline at end of file diff --git a/source/introducao/historia/pythonbrasil14.rst b/source/introducao/historia/pythonbrasil14.rst deleted file mode 100644 index c814e9b..0000000 --- a/source/introducao/historia/pythonbrasil14.rst +++ /dev/null @@ -1,80 +0,0 @@ -.. index:: - single: Python Brasil 2018 - -Python Brasil 2018 -======================== - -+--------------+----------------------------+ -| Nome Oficial | Python Brasil [14] | -+--------------+----------------------------+ -| Local | Natal, Rio Grande do Norte | -+--------------+----------------------------+ -| Data | 17 a 22 de outubro de 2018 | -+--------------+----------------------------+ -| Big Kahuna | Italo Rossi | -+--------------+----------------------------+ - -Números -------- - -Participantes -````````````` - -+-----------------------+-----+ -| Inscritos | 784 | -+-----------------------+-----+ -| Mulheres inscritas | 153 | -+-----------------------+-----+ -| Palestrantes | 111 | -+-----------------------+-----+ -| Palestrantes mulheres | 24 | -+-----------------------+-----+ - -Atividades -`````````` - -+---------------------+-------------------------------+ -| Palestras | ~120 | -+---------------------+-------------------------------+ -| Trilhas | 4 | -+---------------------+-------------------------------+ -| Palestras Relâmpago | ~30 | -+---------------------+-------------------------------+ -| Tutoriais | 5 | -+---------------------+-------------------------------+ -| Sprint | 5 projetos em 1 dia de Sprint | -+---------------------+-------------------------------+ -| Django Girls | Sim | -+---------------------+-------------------------------+ - -Financeiro -`````````` - -+--------------------------+---------------+ -| Receita Total | R$ 196.212,87 | -+--------------------------+---------------+ -| Receita Inscrições | R$ 103.755,00 | -+--------------------------+---------------+ -| Receita Patrocinadores | R$ 92.457,87 | -+--------------------------+---------------+ -| Número de Patrocinadores | 7 | -+--------------------------+---------------+ - -Patrocinadores -`````````````` - -+----------------------------+ -| Globo.com | -+----------------------------+ -| Facebook | -+----------------------------+ -| Sebrae | -+----------------------------+ -| Labcodes | -+----------------------------+ -| MangaiLabs | -+----------------------------+ -| Thoughtworks | -+----------------------------+ -| Python Software Foundation | -+----------------------------+ diff --git a/source/introducao/historia/pythonbrasil15.rst b/source/introducao/historia/pythonbrasil15.rst deleted file mode 100644 index 7bb56eb..0000000 --- a/source/introducao/historia/pythonbrasil15.rst +++ /dev/null @@ -1,122 +0,0 @@ -.. index:: - single: Python Brasil 2019 - -Python Brasil 2019 -======================== - -+--------------+------------------------------+ -| Nome Oficial | Python Brasil 2019 | -+--------------+------------------------------+ -| Local | Ribeirão Preto, São Paulo | -+--------------+------------------------------+ -| Data | 23 a 28 de outubro de 2019 | -+--------------+------------------------------+ -| Big Kahuna | Danilo Shiga, Danilo Martins | -+--------------+------------------------------+ - -Números -------- - -Participantes -````````````` - -+-----------------------+-----+ -| Inscritos | 893 | -+-----------------------+-----+ -| Mulheres inscritas | 126 | -+-----------------------+-----+ -| Palestrantes | 64 | -+-----------------------+-----+ -| Palestrantes mulheres | 28 | -+-----------------------+-----+ - -Atividades -`````````` - -+---------------------+-----------------+ -| Palestras | 60 | -+---------------------+-----------------+ -| Trilhas | 4 | -+---------------------+-----------------+ -| Palestras Relâmpago | ~36 | -+---------------------+-----------------+ -| Tutoriais | 19 | -+---------------------+-----------------+ -| Sprint | 1 dia de Sprint | -+---------------------+-----------------+ -| Django Girls | Sim | -+---------------------+-----------------+ - -Financeiro -`````````` - -+--------------------------+---------------+ -| Receita Total | R$ 181.998,45 | -+--------------------------+---------------+ -| Receita Inscrições | R$ 89.540,58 | -+--------------------------+---------------+ -| Receita Patrocinadores | R$ 198.365,00 | -+--------------------------+---------------+ -| Número de Patrocinadores | 11 | -+--------------------------+---------------+ - - -Patrocinadores -`````````````` -+-----------+----------+ -| Github | Diamante | -+-----------+----------+ -| Grupo Zap | Platina | -+-----------+----------+ -| PSF | Platina | -+-----------+----------+ -| Loadsmart | Ouro | -+-----------+----------+ -| Olist | Ouro | -+-----------+----------+ -| Stoodi | Ouro | -+-----------+----------+ -| Globo.com | Ouro | -+-----------+----------+ -| Evolux | Prata | -+-----------+----------+ -| Whatsgood | Prata | -+-----------+----------+ -| LabCodes | Prata | -+-----------+----------+ -| iDtrust | Bronze | -+-----------+----------+ - -**Voluntários** -* Danilo Shiga (Ribeirão Preto) -* Danilo Martins (Ribeirão Preto) -* Marco Rougeth (Dublin) -* Hugo Penna (Ribeirão Preto) -* Murilo Viana (Ribeirão Preto) -* André Pastore (Florianópolis) -* Ana Dulce Padovan (São Carlos) -* Jessica Temporal (São Paulo) -* Tadeu Mesquita (Ribeirão Preto) -* Zeca Figueiredo (Ribeirão Preto) -* André Girol (Ribeirão Preto) -* Júlia Carmona (Ribeirão Preto) -* André Ferreira (Ribeirão Preto) -* Dênis Germano (Ribeirão Preto) -* Bárbara Moraes (Ribeirão Preto) -* Rodrigo Oliveira (Curitiba) -* Johnny Michel (Natal) -* Daniel Bastos (Joinville) -* Carlos Lenhz (Ribeirão Preto) - -**Keynotes** -* Carol Willing -* Débora Azevedo -* Felipe de Moraes -* Laís Varejão -* Lorena Mesa -* Luciano Ramalho - -**Prêmio Dorneles Treméa & Jean Ferri** -* Leonardo Rochael -* Álvaro Justen "Turicas" -* PyLadies São Paulo diff --git a/source/introducao/historia/pythonbrasil16.rst b/source/introducao/historia/pythonbrasil16.rst deleted file mode 100644 index ecd5dad..0000000 --- a/source/introducao/historia/pythonbrasil16.rst +++ /dev/null @@ -1,97 +0,0 @@ -.. index:: - single: Python Brasil 2020 - -Python Brasil 2020 -======================== - -+--------------+------------------------------+ -| Nome Oficial | Python Brasil 2020 | -+--------------+------------------------------+ -| Local | Online | -+--------------+------------------------------+ -| Data | 02 a 08 de novembro de 2020 | -+--------------+------------------------------+ -| Big Kahuna | Ana Dulce | -+--------------+------------------------------+ - -Números -------- - -Participantes -````````````` - -+-----------------------+---------+ -| Inscritos | 7.056 | -+-----------------------+---------+ -| Homens inscritos | 5.098 | -+-----------------------+---------+ -| Mulheres inscritas | 1.777 | -+-----------------------+---------+ -| Não-binárie inscrites | 32 | -+-----------------------+---------+ -| outros inscritos | 4 | -+-----------------------+---------+ -| Preferiu não responder| 145 | -+-----------------------+---------+ - -Palestrantes -`````````` -+-----------------------+--------+ -| Palestrantes | | -+-----------------------+--------+ -| Palestrantes mulheres | - | -+-----------------------+--------+ - -Atividades -`````````` - -+---------------------+---+ -| Palestras | - | -+---------------------+---+ -| Trilhas | - | -+---------------------+---+ -| Palestras Relâmpago | - | -+---------------------+---+ -| Tutoriais | - | -+---------------------+---+ -| Sprint | - | -+---------------------+---+ -| Django Girls | - | -+---------------------+---+ - -Financeiro -`````````` - -+--------------------------+---+ -| Receita Total | - | -+--------------------------+---+ -| Receita Inscrições | - | -+--------------------------+---+ -| Receita Patrocinadores | - | -+--------------------------+---+ -| Número de Patrocinadores | - | -+--------------------------+---+ - - -Patrocinadores -`````````````` -+-----------+----------+ -| - | titulo | -+-----------+----------+ - - -**Voluntários** - - -**Keynotes** -- Melissa Weber Mendonça -- Diana Rodriguez -- Thais Viana -- Álvaro Justen (Turicas) -- Ana Paula Gomes - - -**Prêmio Dorneles Treméa & Jean Ferri** -- Débora Azevedo -- Felipe de Morais -- Mário Sérgio diff --git a/source/introducao/historia/pythonbrasil17.rst b/source/introducao/historia/pythonbrasil17.rst deleted file mode 100644 index 9bc094e..0000000 --- a/source/introducao/historia/pythonbrasil17.rst +++ /dev/null @@ -1,92 +0,0 @@ -.. index:: - single: Python Brasil 2021 - -Python Brasil 2021 -======================== - -+--------------+------------------------------+ -| Nome Oficial | Python Brasil 2021 | -+--------------+------------------------------+ -| Local | Online | -+--------------+------------------------------+ -| Data | 11 a 17 outubro de 2021 | -+--------------+------------------------------+ -| Big Kahuna | Alynne Ferreira | -+--------------+------------------------------+ - -Números -------- - -Participantes -````````````` - -+-----------------------+---------+ -| Inscritos | 6.442 | -+-----------------------+---------+ -| Homens inscritos | 4.747 | -+-----------------------+---------+ -| Mulheres inscritas | 1.521 | -+-----------------------+---------+ -| Não-binárie inscrites | 43 | -+-----------------------+---------+ -| outros inscritos | 2 | -+-----------------------+---------+ -| Preferiu não responder| 129 | -+-----------------------+---------+ - -Atividades -`````````` - -+---------------------+---+ -| Palestras | - | -+---------------------+---+ -| Trilhas | - | -+---------------------+---+ -| Palestras Relâmpago | - | -+---------------------+---+ -| Tutoriais | - | -+---------------------+---+ -| Sprint | - | -+---------------------+---+ -| Django Girls | - | -+---------------------+---+ - -Financeiro -`````````` - -+--------------------------+---------------+ -| Receita Total | R$ 273.051,52 | -+--------------------------+---------------+ -| Receita Inscrições | R$ 0,00 | -+--------------------------+---------------+ -| Receita Patrocinadores | R$ 273.051,52 | -+--------------------------+---------------+ -| Número de Patrocinadores | 7 | -+--------------------------+---------------+ - - -Patrocinadores -`````````````` -+-----------+----------+ -| 3 | Ouro | -+-----------+----------+ -| 3 | Prata | -+-----------+----------+ -| 1 | Bronze | -+-----------+----------+ - - -**Voluntários** - - -**Keynotes** -- Kizzy Terra e Hallison Paz -- Eduardo Cuducos -- Anicely Santos -- Gabi Cavalcante -- Yasodara Córdova - -**Prêmio Dorneles Treméa & Jean Ferri** -- Eduardo Mendes (Dunossauro) -- Jessica Temporal -- Letícia Portella diff --git a/source/introducao/historia/pythonbrasil18.rst b/source/introducao/historia/pythonbrasil18.rst deleted file mode 100644 index e3ee2fa..0000000 --- a/source/introducao/historia/pythonbrasil18.rst +++ /dev/null @@ -1,107 +0,0 @@ -.. index:: - single: Python Brasil 2022 - -Python Brasil 2022 -======================== - -+--------------+------------------------------+ -| Nome Oficial | Python Brasil 2022 | -+--------------+------------------------------+ -| Local | Presencial && Online | -+--------------+------------------------------+ -| Data | 17 a 23 de Outubro 2022 | -+--------------+------------------------------+ -| Big Kahuna | Juliany Raiol | -+--------------+------------------------------+ - -Números -------- - -Participantes -````````````` -+-----------------------+--------+------------+ -| Totais | online | Presencial | -+-----------------------+--------+------------+ -| Inscritos | 2553 | 576 | -+-----------------------+--------+------------+ -| Homens inscritas | 1853 | 385 | -+-----------------------+--------+------------+ -| Mulheres inscritas | 655 | 174 | -+-----------------------+--------+------------+ -| Não-Bináre inscrites | 16 | 7 | -+-----------------------+--------+------------+ -| Outros inscritos | 1 | 1 | -+-----------------------+--------+------------+ -| Preferiu não responder| 46 | 9 | -+-----------------------+--------+------------+ - - -Palestrantes -````````````` -+-----------------------+--------+------------+ -| Palestrantes | - | - | -+-----------------------+--------+------------+ -| Palestrantes mulheres | - | - | -+-----------------------+--------+------------+ - -Atividades -`````````` - -+---------------------+---+ -| Palestras | - | -+---------------------+---+ -| Trilhas | - | -+---------------------+---+ -| Palestras Relâmpago | - | -+---------------------+---+ -| Tutoriais | - | -+---------------------+---+ -| Sprint | - | -+---------------------+---+ -| Django Girls | - | -+---------------------+---+ - -Financeiro -`````````` - -+--------------------------+---+ -| Receita Total | - | -+--------------------------+---+ -| Receita Inscrições | - | -+--------------------------+---+ -| Receita Patrocinadores | - | -+--------------------------+---+ -| Número de Patrocinadores | - | -+--------------------------+---+ - - -Patrocinadores -`````````````` -+-----------+----------+ -| 1 | Ouro | -+-----------+----------+ -| 5 | Bronze | -+-----------+----------+ -| 3 | Cupuaçu | -+-----------+----------+ -| 6 | Cobre | -+-----------+----------+ - -**Voluntários** - - -**Keynotes** -- Eduardo Mendes -- Elloá B. Guedes -- Eulanda Miranda -- Guilherme Felitti -- Leticia Portella -- Lidiane Monteiro -- Mariatta -- Valcléia Solidade - - -**Prêmio Dorneles Treméa & Jean Ferri** -- Bianca Rosa -- Lidiane Monteiro -- Melissa Weber diff --git a/source/introducao/historia/pythonbrasil19.rst b/source/introducao/historia/pythonbrasil19.rst deleted file mode 100644 index 90ef098..0000000 --- a/source/introducao/historia/pythonbrasil19.rst +++ /dev/null @@ -1,96 +0,0 @@ -.. index:: - single: Python Brasil 2023 - -Python Brasil 2023 -======================== - -+--------------+----------------------------------------+ -| Nome Oficial | Python Brasil 2023 | -+--------------+----------------------------------------+ -| Local | Presencial && Online | -+--------------+----------------------------------------+ -| Data | 30 de outubro á 05 de novembro de 2023 | -+--------------+----------------------------------------+ -| Big Kahuna | Adriano Margarin | -+--------------+----------------------------------------+ - -Números -------- - -Participantes -````````````` - -+-----------------------+-----+ -| Inscritos | 313 | -+-----------------------+-----+ -| Mulheres inscritas | - | -+-----------------------+-----+ -| Palestrantes | - | -+-----------------------+-----+ -| Palestrantes mulheres | - | -+-----------------------+-----+ - -Atividades -`````````` - -+---------------------+---+ -| Palestras | - | -+---------------------+---+ -| Trilhas | - | -+---------------------+---+ -| Palestras Relâmpago | - | -+---------------------+---+ -| Tutoriais | - | -+---------------------+---+ -| Sprint | 1 | -+---------------------+---+ -| Django Girls | ñ | -+---------------------+---+ - -Financeiro -`````````` - -+--------------------------+---+ -| Receita Total | - | -+--------------------------+---+ -| Receita Inscrições | - | -+--------------------------+---+ -| Receita Patrocinadores | - | -+--------------------------+---+ -| Número de Patrocinadores | 6 | -+--------------------------+---+ - - -Patrocinadores -`````````````` -+-----------+----------+ -| 1 | Diamante | -+-----------+----------+ -| 3 | Prata | -+-----------+----------+ -| 1 | Bronze | -+-----------+----------+ -| 1 | Cobre | -+-----------+----------+ -| 1 | Apoio | -+-----------+----------+ - - -**Voluntários** - - -**Keynotes** -- Julio Biason -- Filipe Cifali -- Gabriela Oliveira -- Jeferson Fernando -- Andreza Rocha -- Érico Andrei - -**Prêmio Dorneles Treméa & Jean Ferri** -- JS Bueno -- Juliana Karoline -- Alynne Ferreira -- Ryllari Costa -- Rafael Fontenelle -- Ana Cecília Vieira \ No newline at end of file diff --git a/source/introducao/historia/pythonbrasil5.txt b/source/introducao/historia/pythonbrasil5.txt deleted file mode 100644 index 905eec8..0000000 --- a/source/introducao/historia/pythonbrasil5.txt +++ /dev/null @@ -1,119 +0,0 @@ -.. index:: - single: Python Brasil 2009 - -Python Brasil 2009 -======================== - -Informações Gerais ---------------------- - -+----------------------+-----------------------+ -| Nome Oficial | * PythonBrasil[5] | -+----------------------+-----------------------+ -| Local | * UCS | -| | * Caxias do Sul | -| | * Rio Grande do Sul | -+----------------------+-----------------------+ -| Data | * 10/09/2009 | -| | * 11/09/2009 | -| | * 12/09/2009 | -+----------------------+-----------------------+ -| Organizador | * Dorneles Treméa | -+----------------------+-----------------------+ - -Números ---------------------- - -+----------------------+-----------------------+ -| Palestras | * 26 | -+----------------------+-----------------------+ -| Palestrantes | * N/D | -+----------------------+-----------------------+ -| Keynotes | * 2 | -+----------------------+-----------------------+ -| Treinamentos | * 9 | -+----------------------+-----------------------+ -| Inscritos | * 132 | -+----------------------+-----------------------+ -| Receita Inscrição | * N/D | -+----------------------+-----------------------+ -| Patrocinadores | * #TODO | -+----------------------+-----------------------+ -| Apoiadores | * #TODO | -+----------------------+-----------------------+ -| Receita Patrocínio | * R$16.250,00 | -+----------------------+-----------------------+ - - -Resumo ---------- - -Em 2009 o nome sofre alteração e temos a PythonBrasil [5], a quinta edição do -evento, realizada em Caxias do Sul, na UCS, Universidade de Caxias do Sul, -durante os dias 10, 11 e 12 de Setembro de 2009. - -O Big Kahuna foi Dorneles Treméa, contando com o apoio da equipe da UCS. - -Jacob Kaplan-Moss, co-criador do Django, e Collin Winter, engenheiro do Google -foram os palestrantes internacionais deste ano. - -Gustavo Niemeyer, desenvolvedor Python, e Rodrigo Bamboo de Oliveira, criador -da linguagem Boo também estiveram presentes. - -Neste ano as seções de OpenSpaces passaram a fazer parte da programação oficial -do evento. - -Foi realizada a assembléia geral da APyB e eleita a nova diretoria -para o biênio 2010-2011. - -Comercialização ------------------- - -Seguindo o modelo dos anos anteriores, para a edição de Caxias do Sul foi -contratada a Diaspar Serviços de Informações LTDA como empresa responsável -pela comercialização do evento. - -A remuneração da empresa foi de 15% sobre o faturamento proveniente de cotas de -patrocínio. - -Inscrições ----------------- - -+----------------------+------------------+------------------+------------------+------------------+ -| Categoria | Até 04/09/2009 | Até 11/09/2009 | Até 17/09/2009 | No evento | -+======================+==================+==================+==================+==================+ -| APyB /Estudantes | 25,00 | 32,00 | 40,00 | 47,00 | -+----------------------+------------------+------------------+------------------+------------------+ -| SBC / Abraweb | 35,00 | 45,00 | 56,00 | 66,00 | -+----------------------+------------------+------------------+------------------+------------------+ -| Individual | 45,00 | 58,00 | 72,00 | 85,00 | -+----------------------+------------------+------------------+------------------+------------------+ - -.. note:: Parte da receita de cada ingresso (R$5,00) comercializado - foi revertido para a ONG 'Lar São Francisco de Assis', entidade de - auxílio à terceira idade, da cidade de Caxias do Sul. - - -Patrocinadores ------------------- - -+----------------------+-----------------------+ -| INdT | * R$5.000,00 | -+----------------------+-----------------------+ -| Globo.Com | * R$5.000,00 | -+----------------------+-----------------------+ -| SERPRO | * R$5.000,00 | -+----------------------+-----------------------+ -| Propus | * R$1.250,00 | -+----------------------+-----------------------+ - - -Apoiadores ------------------- - -#TODO - -Imagens ---------- - -.. image:: ../../imagens/pythonbrasil-5.jpg diff --git a/source/introducao/historia/pythonbrasil6.txt b/source/introducao/historia/pythonbrasil6.txt deleted file mode 100644 index e051141..0000000 --- a/source/introducao/historia/pythonbrasil6.txt +++ /dev/null @@ -1,144 +0,0 @@ -.. index:: - single: Python Brasil 2010 - -Python Brasil 2010 -======================== - -Informações Gerais ---------------------- - -+----------------------+-------------------------+ -| Nome Oficial | * PythonBrasil[6] | -+----------------------+-------------------------+ -| Local | * UFPR | -| | * Curitiba | -| | * Paraná | -+----------------------+-------------------------+ -| Data | * 21/10/2010 | -| | * 22/10/2010 | -| | * 23/10/2010 | -+----------------------+-------------------------+ -| Organizador | * Ramiro Batista da Luz | -+----------------------+-------------------------+ - -Números ---------------------- - -+----------------------+-----------------------+ -| Palestras | * 55 | -+----------------------+-----------------------+ -| Palestrantes | * 52 | -+----------------------+-----------------------+ -| Keynotes | * 2 | -+----------------------+-----------------------+ -| Treinamentos | * 6 | -+----------------------+-----------------------+ -| Inscritos | * 250 | -+----------------------+-----------------------+ -| Receita Inscrição | * N/D | -+----------------------+-----------------------+ -| Patrocinadores | * 5 | -+----------------------+-----------------------+ -| Apoiadores | * 9 | -+----------------------+-----------------------+ -| Receita Patrocínio | * R$21.900,00 | -+----------------------+-----------------------+ - - -Resumo ---------- - -A Associação Python Brasil promoveu entre os dias 21 e 23 de outubro, na -Universidade Federal do Paraná (UFPR) em Curitiba (PR), a 6a edição da -Python Brasil, Encontro Brasileiro da Comunidade Python. - -O Big Kahuna foi Ramiro Batista da Luz, contando com apoio de uma comissão formada por -Osvaldo Santana, Arthur Furlan e Paulo Henrique Santana. - -A cerimônia de abertura foi realizada no dia 21 de outubro de 2010, com a -participação Dorneles Treméa presidente da Associação Python Brasil à época -do evento, Ramiro Batista da Luz e Luis Carlos Erpen de Bona representante -do Departamento de Informática da UFPR. - -Ao todo foram 49 palestras divididas em 2 auditórios, além de 6 mini-cursos -e diversas palestras relâmpagos durante os 3 dias de evento. - -Como keynotes do evento foram convidados Leah Culver, co-fundadora e principal -desenvolvedora da rede social e site de micro-blogging Pownce, e Facundo -Batista, um dos líderes da PyAr, Core-Developer do Python e membro da Python -Software Foundation. - -Inicialmente estava prevista a participação de Ian Bicking, membro conhecido da -comunidade Python, mas que por motivos familiares teve que declinar do convite. - -O representante de outra linguagem foi Fábio Akita que discorreu sobre Ruby. - -Durante o evento foi realizada a assembléia geral da APyB onde foram eleitos -novos conselheiros e foi definida a sede da edição seguinte da PythonBrasil. - - -Comercialização ------------------- - -Assim como a edição de Caxias do Sul, a comercialização do evento foi realizada -pela Diaspar Serviços de Informações LTDA. - -A remuneração da empresa foi de 25% sobre o faturamento proveniente de cotas de -patrocínio - -Inscrições ----------------- - -+----------------------+------------------+------------------+------------------+------------------+ -| Categoria | Até 31/07/2010 | Até 31/08/2010 | Até 30/09/2010 | Depois de 01/10 | -+======================+==================+==================+==================+==================+ -| APyB /Estudantes | 25,00 | 32,00 | 40,00 | 47,00 | -+----------------------+------------------+------------------+------------------+------------------+ -| SBC / Abraweb | 35,00 | 45,00 | 56,00 | 66,00 | -+----------------------+------------------+------------------+------------------+------------------+ -| Individual | 45,00 | 58,00 | 72,00 | 85,00 | -+----------------------+------------------+------------------+------------------+------------------+ - -Patrocinadores ------------------- -+----------------------+-----------------------+ -| Globo.Com | * R$10.000,00 | -+----------------------+-----------------------+ -| SERPRO | * R$5.000,00 | -+----------------------+-----------------------+ -| Liberiun | * R$3.900,00 | -+----------------------+-----------------------+ -| LZT | * R$2.000,00 | -+----------------------+-----------------------+ -| Caelum | * R$1.000,00 | -+----------------------+-----------------------+ - -Apoiadores ------------------- - -+----------------------+-----------------------+ -| APyB | Organização / Temário | -+----------------------+-----------------------+ -| Simples Consultoria | Web site do evento | -+----------------------+-----------------------+ -| Tríveos | Divulgação e brindes | -+----------------------+-----------------------+ -| Elaborata | Divulgação e banners | -+----------------------+-----------------------+ -| UFPR | Apoio institucional | -+----------------------+-----------------------+ -| CEI - UFPR | Apoio à organização | -+----------------------+-----------------------+ -| Rev. Espírito Livre | Apoio Mídia | -+----------------------+-----------------------+ -| Linux New Media | Apoio Mídia | -+----------------------+-----------------------+ -| 91 Radio Rock | Apoio Mídia | -+----------------------+-----------------------+ - - - -Imagens ---------- - -.. image:: ../../imagens/pythonbrasil6.jpg diff --git a/source/introducao/historia/pythonbrasil7.txt b/source/introducao/historia/pythonbrasil7.txt deleted file mode 100644 index ec70645..0000000 --- a/source/introducao/historia/pythonbrasil7.txt +++ /dev/null @@ -1,168 +0,0 @@ -.. index:: - single: Python Brasil 2011 - -Python Brasil 2011 -======================== - -Informações Gerais ---------------------- - -+----------------------+-------------------------+ -| Nome Oficial | * PythonBrasil[7] | -+----------------------+-------------------------+ -| Local | * AMCHAM Business Center| -| | * São Paulo | -| | * São Paulo | -+----------------------+-------------------------+ -| Data | * 28/09/2011 (cursos) | -| | * 29/09/2011 (conf) | -| | * 30/09/2011 (conf) | -| | * 01/10/2011 (conf) | -+----------------------+-------------------------+ -| Organizador | * Érico Andrei | -+----------------------+-------------------------+ - -Números ---------------------- - -+----------------------+-----------------------+ -| Palestras | * 80 | -+----------------------+-----------------------+ -| Palestrantes | * 65 | -+----------------------+-----------------------+ -| Keynotes | * 6 | -+----------------------+-----------------------+ -| Treinamentos | * 4 | -+----------------------+-----------------------+ -| Inscritos | * 340 | -+----------------------+-----------------------+ -| Receita Inscrição | * R$29.640,11 | -+----------------------+-----------------------+ -| Patrocinadores | * 11 | -+----------------------+-----------------------+ -| Apoiadores | * 9 | -+----------------------+-----------------------+ -| Receita Patrocínio | * R$75.650,00 | -+----------------------+-----------------------+ - - -Resumo ---------- - -Para a edição de 2011 foi proposto um novo modelo de organização em que a APyB -continuaria responsável pela gestão do temário do evento mas as receitas e -despesas da PythonBrasil seriam geridas pelo organizador, que repassaria 15% -do valor arrecadado com as inscrições. - -O Big Kahuna da PythonBrasil[7] foi Érico Andrei que organizou o evento através -da empresa Diaspar Serviços de Informações LTDA. - -Foram 6 keynotes speakers convidados para o evento: - - * Wesley Chun (Google) - - * Alan Runyan (Enfold Systems, Plone Foundation) - - * Steve Holden (Python Software Foundation / HoldenWeb) - - * Gustavo Niemeyer (Canonical, Python Core Developer) - - * Jim Fulton (Zope Corporation) - - * Maciej Fijalkowski (Pypy) - -E também contamos com a presença de David Edelsohn, mantenedor do GCC, que se -inscreveu no evento como participante e nos brindou com uma palestra sobre -comunidades. - -Com o objetivo de reduzir os casos de palestrantes que não compareciam no -evento para ministrarem suas apresentações foi instituída a cobrança da taxa de -inscrição para os palestrantes. O resultado foi melhor que o esperado com -apenas duas das palestras tendo que ser alteradas -- de palestrantes que -estavam presentes ao evento e que cederam seu espaço para outra pessoa ou por -problemas de saúde -- e com a presença de todos os palestrantes inscritos. - - -Plone Symposium South America --------------------------------- - -Em conjunto com a PythonBrasil[7] foi realizada a terceira edição do Plone -Symposium South America. - -Inicialmente os dois eventos seriam realizados em sequência, com a PythonBrasil -sucedendo o PSSA, mas objetivando a redução de custos da PythonBrasil a -organização decidiu pela união dos eventos. - -Inscrições ----------------- - -+----------------------+------------------+------------------+------------------+------------------+ -| Categoria | Até 30/06/2011 | Até 30/08/2011 | Até 26/09/2011 | No evento | -+======================+==================+==================+==================+==================+ -| Membros APyB | 90,00 | 135,00 | 162,00 | 180,00 | -+----------------------+------------------+------------------+------------------+------------------+ -| Estudante | 100,00 | 150,00 | 180,00 | 200,00 | -+----------------------+------------------+------------------+------------------+------------------+ -| Individual | 150,00 | 225,00 | 270,00 | 300,00 | -+----------------------+------------------+------------------+------------------+------------------+ -| Corporativo | 200,00 | 300,00 | 360,00 | 400,00 | -+----------------------+------------------+------------------+------------------+------------------+ -| Governo | 400,00 | 400,00 | 400,00 | 400,00 | -+----------------------+------------------+------------------+------------------+------------------+ -| Palestrante | 100,00 | 100,00 | 100,00 | 100,00 | -+----------------------+------------------+------------------+------------------+------------------+ - -Patrocinadores ------------------- - -+----------------------+-----------------------+ -| Globo.com | * R$30.000,00 | -+----------------------+-----------------------+ -| Simples Consultoria | * R$20.000,00 | -+----------------------+-----------------------+ -| Liberiun | * R$5.750,00 | -+----------------------+-----------------------+ -| SERPRO | * R$5.000,00 | -+----------------------+-----------------------+ -| LZT | * R$4.800,00 | -+----------------------+-----------------------+ -| PyTown | * R$2.800,00 | -+----------------------+-----------------------+ -| Globalcode | * R$2.500,00 | -+----------------------+-----------------------+ -| Bitbucket | * R$2.300,00 | -+----------------------+-----------------------+ -| GoNow | * R$1.500,00 | -+----------------------+-----------------------+ -| Proge | * R$1.000,00 | -+----------------------+-----------------------+ - -Apoiadores ------------------- - -+----------------------+-----------------------+ -| APyB | Organização / Temário | -+----------------------+-----------------------+ -| PSF | USD 1600 / Brindes | -+----------------------+-----------------------+ -| Plone Foundation | USD 2500 | -+----------------------+-----------------------+ -| Google | Wesley Chun | -+----------------------+-----------------------+ -| Mozilla | Brindes | -+----------------------+-----------------------+ -| PyAr | Apoio a Organização | -+----------------------+-----------------------+ -| Menttes | Apoio Plone Symposium | -+----------------------+-----------------------+ -| Editora Novatec | Divulgação / Livros | -+----------------------+-----------------------+ -| Rev. Espírito Livre | Apoio Mídia | -+----------------------+-----------------------+ -| Linux New Media | Apoio Mídia | -+----------------------+-----------------------+ - -Imagens ---------- - -.. image:: ../../imagens/pythonbrasil7.jpg diff --git a/source/introducao/historia/pythonbrasil8.txt b/source/introducao/historia/pythonbrasil8.txt deleted file mode 100644 index f8b0c18..0000000 --- a/source/introducao/historia/pythonbrasil8.txt +++ /dev/null @@ -1,149 +0,0 @@ -.. index:: - single: Python Brasil 2012 - -Python Brasil 2012 -======================== - -Informações Gerais ---------------------- - -+----------------------+-------------------------+ -| Nome Oficial | * PythonBrasil[8] | -+----------------------+-------------------------+ -| Local | * Centro de convenções | -| | SulAmérica | -| | * Cidade Nova | -| | * Rio de Janeiro | -+----------------------+-------------------------+ -| Data | * 21/11/2012 | -| | * 22/11/2012 | -| | * 23/11/2012 | -| | * 24/11/2012 | -+----------------------+-------------------------+ -| Organizador | * Tatiana Al-Chueyr | -| | e Álvaro Justen | -+----------------------+-------------------------+ - -Números ---------------------- - -+----------------------+-----------------------+ -| Palestras | * 48 | -+----------------------+-----------------------+ -| Palestrantes | * 40 | -+----------------------+-----------------------+ -| Keynotes | * 6 | -+----------------------+-----------------------+ -| Treinamentos | * 11 | -+----------------------+-----------------------+ -| Inscritos | * 345 | -+----------------------+-----------------------+ -| Receita Inscrição | * 34.000,00 | -+----------------------+-----------------------+ -| Patrocinadores | * 12 | -+----------------------+-----------------------+ -| Apoiadores | * 11 | -+----------------------+-----------------------+ -| Receita Patrocínio | * R$80.240,00 | -+----------------------+-----------------------+ - - -Resumo ---------- -A Python Brasil é recebida pelo Rio de Janeiro pela segunda vez, dessa vez organizado pela Tatiana Al-Chueyr e Álvaro Justen "Turicas", acontecendo os tutoriais na FGV (Faculdade Getúlio Vargas) e as palestras no Centro de convenções SulAmérica. - -Tivemos como Keynotes: - -- web2py: Web Development Should be Easy (Massimo Di Pierro) -- Python Packaging (Tarek Ziade) -- Optimize Performance and Scalability with Parallelism and Concurrency (Bob Hancock) -- Stepping Through CPython (Larry Hastings) -- “import wx”: a Tale of Neverending GUI Power (Andrea Gavana) -- Clojure - em busca da simplicidade (Pedro Teixeira) - -E tivemos como ganhadores do Prêmio Dorneles Trémea o Érico Andrei e Marcel Caraciolo - -Inscrições ----------------- -NDA - -Patrocinadores ------------------- - -+------------------------------+--------------------------+ -| Globo.com | * Diamante | -+------------------------------+--------------------------+ -| Python Software Foundation | * Ouro | -+------------------------------+--------------------------+ -| R18 Tecnologia e Comunicação | * Ouro | -+------------------------------+--------------------------+ -| Serpro | * Ouro | -+------------------------------+--------------------------+ -| Titans Group | * Ouro | -+------------------------------+--------------------------+ -| Loogica | * Prata | -+------------------------------+--------------------------+ -| Dekode | * Prata | -+------------------------------+--------------------------+ -| Web2py | * Prata | -+------------------------------+--------------------------+ -| Simples Consultoria | * Prata | -+------------------------------+--------------------------+ -|Enthought | * Prata | -+------------------------------+--------------------------+ -| Curto Café | * Prata | -+------------------------------+--------------------------+ -| ZNC | * Prata | -+------------------------------+--------------------------+ - -Apoiadores ------------------- - -+-----------------------------+-----------------------+ -| EMAp/FGV | NDA | -+-----------------------------+-----------------------+ -| Novatec Editora | NDA | -+-----------------------------+-----------------------+ -| O'Reilly Media | NDA | -+-----------------------------+-----------------------+ -| Pearson | NDA | -+-----------------------------+-----------------------+ -| Maersk Oil | NDA | -+-----------------------------+-----------------------+ -| Guidebook | NDA | -+-----------------------------+-----------------------+ -| Casa do código | NDA | -+-----------------------------+-----------------------+ -| Futura Soluções Ambientais | NDA | -+-----------------------------+-----------------------+ -| Mozilla | NDA | -+-----------------------------+-----------------------+ -| Pycursos | NDA | -+-----------------------------+-----------------------+ -| APyB | NDA | -+-----------------------------+-----------------------+ -| CobraTeam | NDA | -+-----------------------------+-----------------------+ -| PythOnRio | NDA | -+-----------------------------+-----------------------+ -| Grupython UFLA | NDA | -+-----------------------------+-----------------------+ -| GrUPy-DF | NDA | -+-----------------------------+-----------------------+ -| Pyladies | NDA | -+-----------------------------+-----------------------+ - - -Imagens ---------- - -.. image:: ../../imagens/pythonbrasil8.jpg -.. image:: ../../imagens/pythonbrasil8-2.jpg - - -Slideshare --------------- - -http://pt.slideshare.net/pythonbrasil - -https://web.archive.org/web/20121204012708/http://2012.pythonbrasil.org.br/ diff --git a/source/introducao/historia/pythonbrasil9.txt b/source/introducao/historia/pythonbrasil9.txt deleted file mode 100644 index 760e146..0000000 --- a/source/introducao/historia/pythonbrasil9.txt +++ /dev/null @@ -1,526 +0,0 @@ -.. index:: - single: Python Brasil 2013 - -Python Brasil 2013 -======================================= - -Informações Gerais ---------------------- - -Nome oficial do evento: PythonBrasil[9] / Plone Conference 2013 - -Organizadora: Tânia Andrea - -+-----------------------------+------------------------+---------------------------------------------------------------------+ -| O que? | Quando? | Onde? | -+=============================+========================+=====================================================================+ -| **Treinamentos** | 30/9 e 1/10/2013 | Escola de Administração Fazendária (ESAF) - Brasília/DF | -+-----------------------------+------------------------+---------------------------------------------------------------------+ -| **Conferências** | 2 a 4/10/2013 | Centro de Convenções Ulysses Guimarães (CCUG) - Brasília/DF | -+-----------------------------+------------------------+---------------------------------------------------------------------+ -| **Festa** | 3/10/2013 | Clube Naval - Brasília/DF | -+-----------------------------+------------------------+---------------------------------------------------------------------+ -| **Job Fair** | 4/10/2013 | Centro de Convenções Ulysses Guimarães (CCUG) - Brasília/DF | -+-----------------------------+------------------------+---------------------------------------------------------------------+ -| **Sprint da Conferência** | 5 e 6/10/2013 | Nova Central Sindical de Trabalhadores (NCST) - Brasília/DF | -+-----------------------------+------------------------+---------------------------------------------------------------------+ -| **Caipirinha Sprint** | 8 a 11/10/2013 | Hotel Xenius - João Pessoa/PB | -+-----------------------------+------------------------+---------------------------------------------------------------------+ - - -Números ---------------------- - -+--------------------------------+-----------------------+ -| Inscritos no evento | * 584 | -+--------------------------------+-----------------------+ -| Palestras | * +144 | -+--------------------------------+-----------------------+ -| Palestrantes internacionais | * +30 | -+--------------------------------+-----------------------+ -| Keynotes | * 7 | -+--------------------------------+-----------------------+ -| Treinamentos | * 16 | -+--------------------------------+-----------------------+ -| Estados representados (Brasil) | * 21 | -+--------------------------------+-----------------------+ -| Países representados | * 19 | -+--------------------------------+-----------------------+ -| Continentes representados | * Todos | -+--------------------------------+-----------------------+ -| Mulheres no evento | * ~10% | -+--------------------------------+-----------------------+ -| Inscritos no treinamento | * ~150 | -+--------------------------------+-----------------------+ -| Patrocinadores | * 15 | -+--------------------------------+-----------------------+ -| Apoiadores | * 18 | -+--------------------------------+-----------------------+ - - -Resumo ---------- - -A Big Kahuna da PythonBrasil[9] / Plone Conference 2013 foi Tânia Andrea -que organizou o evento voluntariamente com a ajuda dos membros da comunidade PloneGov-BR -e apoio de outros membros da comunidade Python, sem qualquer fim lucrativo. - - -**Keynotes Speakers:** - -Contamos com 7 Keynotes Speakers convidados para o evento: - -* Eric Steele (Plone 5) -* Fábio Costa (linguagem convidada, JavaScript) -* Karin Breitman (Big Data) -* Paul Everitt (Pyramid) -* Paul Hildebrandt (Walt Disney) -* Paul Roeland (State of Plone) -* Rodrigo Senra (Show Pyrotécnico) - - -**Tivemos:** - -* Open Spaces -* Keynotes Speakers -* Palestra da linguagem convidada (JavaScript) -* Palestras Relâmpago -* Dojo -* Job Fair (novidade) -* Prêmios (Prêmio Dorneles Treméa e Plone Awards) -* Foto Oficial (http://www.flickr.com/photos/pythonbrasil/) -* Filmagem (todas no YouTube da Python Brasil: https://www.youtube.com/user/pythonbrazil) -* Tradução Simultânea -* Agência Oficial (Bancorbrás) -* A Festa (novidade) -* Sprint da Conferência -* Sprint Pós-Conferência na Praia (novidade) -* Lounge e Hall de exposição (6 m2) -* Código de Conduta (novidade) -* Kit do participante com camiseta, ecobag, caneta, cordão da Mozilla, crédito de $ 35 USD no Amazon AWS, dentre outros - -Rodada de Negócios foi cancelado por não ter a participação do Sebrae. - - -**Alimentação:** - -Por não ter locais próximos ao CCUG para almoço e para viabilizar a logística -de palestras próximas deste horário, oferecemos almoço gratuitamente -aos participantes e funcionários. - -Na área do Open Space havia uma copeira para preparação do café expresso. -Foram servidos mais de 600 copos de café! \o/ - -No hall de exposição, que fica na entrada do auditório Master do CCUG, -houve venda de sushi e outros produtos de lanchonete. - - -**Hall de exposição:** - -Além da lanchonete e loja de sushi, tivemos no hall de exposição os stands dos patrocinadores, -suporte da agência de turismo (Bancorbrás), -venda de livros Novatec, souvenirs de Brasília e outros produtos artesanais. - - -**Código de conduta:** - -Pela primeira vez instituímos o código de conduta como termo de conhecimento obrigatório -dos participantes, palestrantes e expositores da Python Brasil. Essa foi uma exigência -da PSF para conceder o patrocínio e tem prática semelhante sendo adotada -por expositores do FISL, Plone Foundation e pela organização da PyCon US. - - -**Prêmios:** - -Neste ano o Prêmio Dorneles Treméa foi para... - -* **Fernando Masanori** - Docente da FATEC São José dos Campos, adora dar aulas, graduado em - Computação pelo IME-USP, mestrado pelo ITA. Desenvolveu projetos para a Cobra Tecnologia, - Credicard Mastercard, PriceWaterhouse&Coopers e Itaú Bankboston. Interesses: Python, - Data Warehouse, NoSQL, Pentaho, Google Technology, Facebook. Voluntário em projetos sociais - voltados para a educação infantil nos finais de semana. - -* **Henrique Bastos** - Apaixonado por desenvolvimento de software! - Trabalha aplicando tecnologias livres como Python, Django e Métodos Ágeis promovendo economia para seus clientes - e parceiros. É membro da Associação Python Brasil e da Python Software Foundation, além de - atuar constantemente nas comunidades de software organizando eventos e encontros, - ministrando palestras, cursos e evangelizando o desenvolvimento sustentável de software, - no Brasil e no exterior. - -E o Plone Awards foi para... - -* **Asko Soukka** - Que não pode comparecer ao evento, mas recebeu $ 1,500 USD como prêmio - pelas importantes contribuições ao Plone. - - -**Redes Sociais utilizadas:** - -Twitter: - * https://twitter.com/pythonbrasil - * https://twitter.com/ploneconf - -Facebook: - * https://www.facebook.com/pythonbrasil - * https://www.facebook.com/PloneConf - -Google+: - * https://plus.google.com/u/0/109784293046561922302/posts - * https://plus.google.com/u/0/110598996082644033939/posts - - -Plone Conference 2013 --------------------------------- - -Em conjunto com a PythonBrasil[9] foi realizada a décima primeira edição da Plone -Conference, pela primeira vez na América Latina. - -As edições anteriores foram em Arnhem (2012), São Francisco (2011), Bristol (2010), -Budapeste (2009), Washington DC (2008), Nápoles (2007), Seattle (2006), Viena (2005), -Viena (2004) e Nova Orleans (2003). - -Inicialmente a comunidade PloneGov-BR fez uma proposta para sediar somente a PloneConf no Brasil, -depois a organização decidiu pela união dos eventos objetivando a redução de custos. -Por serem duas conferências internacionais e sem fins lucrativos, conseguimos o apoio do GDF. - - -Inscrições ----------------- - -Inicialmente a inscrição seria gratuita, porque o Secretário de Turismo do Distrito Federal -ofereceria desconto de 100% no aluguel de algumas salas e auditório master do CCUG. -Como não foi possível manter esse acordo, abrimos as inscrições com o valor simbólico de R$ 50 -(R$ 25 para estudantes ou membros da APyB), depois aumentamos a cada slot (como é feito tradicionalmente). - -+-------------+-----------------------+---------------------------------------------------+ -| Valor | Data da Inscrição | Observação | -+=============+=======================+===================================================+ -| R$ 50 | até 9/8/2013 | R$ 25 para estudantes ou associados da APyB | -+-------------+-----------------------+---------------------------------------------------+ -| R$ 100 | de 10/8 a 24/9/2013 | R$ 50 para estudantes ou associados da APyB | -+-------------+-----------------------+---------------------------------------------------+ -| R$ 150 | de 25/9 a 1/10/2013 | R$ 75 para estudantes ou associados da APyB | -+-------------+-----------------------+---------------------------------------------------+ -| R$ 200 | no dia do evento | R$ 100 para estudantes ou associados da APyB | -+-------------+-----------------------+---------------------------------------------------+ - -**Observação:** organizações de governo pagam R$ 400 porque o empenho só é efetuado no final do evento -e tem impostos envolvidos, além de custos adicionais pela emissão de Nota Fiscal -e trabalho com comprovações para os participantes do governo. - - -Patrocinadores ------------------- - -+----------------------------------+-----------------------+ -| Serpro | * Diamante | -+----------------------------------+-----------------------+ -| NIC.br / CGI.br | * Diamante | -+----------------------------------+-----------------------+ -| Liberiun | * Platina | -+----------------------------------+-----------------------+ -| Simples Consultoria | * Platina | -+----------------------------------+-----------------------+ -| Globo.com | * Ouro | -+----------------------------------+-----------------------+ -| Four Digits | * Ouro | -+----------------------------------+-----------------------+ -| Titans Group | * Ouro | -+----------------------------------+-----------------------+ -| Python Software Foundation (PSF) | * Ouro | -+----------------------------------+-----------------------+ -| Interlegis | * Ouro | -+----------------------------------+-----------------------+ -| Evolux | * Bronze | -+----------------------------------+-----------------------+ -| Amazon | * Bronze | -+----------------------------------+-----------------------+ -| CMS COM -- do Japão \o/ | * Bronze | -+----------------------------------+-----------------------+ -| PyCursos | * Bronze | -+----------------------------------+-----------------------+ -| ZNC Sistemas | * Bronze | -+----------------------------------+-----------------------+ -| Agência Click Isobar | * Bronze | -+----------------------------------+-----------------------+ - - -Apoiadores ------------------- - -+----------------------------------+----------------------------------------+ -| GDF | * Desconto no espaço das conferências | -+----------------------------------+----------------------------------------+ -| Câmara dos Deputados | * Apoio com organização | -+----------------------------------+----------------------------------------+ -| ESAF | * Espaço dos treinamentos | -+----------------------------------+----------------------------------------+ -| Novatec | * Doação de livros | -+----------------------------------+----------------------------------------+ -| PyTown | * Hospegam do site | -+----------------------------------+----------------------------------------+ -| ASL.org | * Apoio de Mídia | -+----------------------------------+----------------------------------------+ -| Disney Animation Studios | * Keynote internacional | -+----------------------------------+----------------------------------------+ -| DZA eventos | * Auxílio com organização | -+----------------------------------+----------------------------------------+ -| Assessoria Internacional / GDF | * Tradutores | -+----------------------------------+----------------------------------------+ -| Mozilla | * Cordões e outros brindes | -+----------------------------------+----------------------------------------+ -| LightBase | * Camisetas | -+----------------------------------+----------------------------------------+ -| PloneGov-BR | * Organização | -+----------------------------------+----------------------------------------+ -| Associação PythonBrasil (APyB) | * Temário | -+----------------------------------+----------------------------------------+ -| Plone Foundation | * USD 2,500 para stand no FISL | -+----------------------------------+----------------------------------------+ -| Bancorbrás | * Apoio Turístico | -+----------------------------------+----------------------------------------+ -| Revista Espírito Livre | * Apoio de Mídia | -+----------------------------------+----------------------------------------+ -| Linux New Media | * Apoio de Mídia | -+----------------------------------+----------------------------------------+ -| Dicas-L | * Apoio de Mídia | -+----------------------------------+----------------------------------------+ -| DigNow | * Apoio de Mídia | -+----------------------------------+----------------------------------------+ - - -Receitas e Despesas ---------------------- - -Para a edição de 2013 não havia caixa na APyB. Contamos com o empréstimo de amigos -para as primeiras divulgações e outras ações emergenciais, até conseguir os primeiros -patrocínios. - -A gestão das receitas e despesas foram feitas pela Big Kahuna Tânia Andrea -com um fluxo de caixa (planilha) e frequentemente consultando o Banco do Brasil, -o PayPal e o PagSeguro pelos extratos fornecidos pela APyB. Em resumo: - -* Total de Receitas = R$ 215.460 -* Total de Despesas = R$ 185.674 -* Total de Taxas = R$ 5.073 - -Logo, tivemos lucro de: R$ 24.712 ou USD 10,427. - -Sendo que $ 5,000 USD foram para a Plone Foundation e -$ 5,427 USD ficaram com a Associação Python Brasil. - - -**Detalhamento:** - -+--------------------------------+-------------------+ -| Receitas | R$ 215.460 | -+================================+===================+ -| Doações | R$ 6.470 | -+--------------------------------+-------------------+ -| Empenhos | R$ 20.113 | -+--------------------------------+-------------------+ -| Inscrições – Conferência | R$ 19.730 | -+--------------------------------+-------------------+ -| Inscrições – Treinamento | R$ 4.600 | -+--------------------------------+-------------------+ -| Patrocínios | R$ 164.546 | -+--------------------------------+-------------------+ - -+--------------------------------+-------------------+ -| Despesas | R$ 185.674 | -+================================+===================+ -| Alimentação | R$ 8.823 | -+--------------------------------+-------------------+ -| Filmagem | R$ 14.997 | -+--------------------------------+-------------------+ -| Foto | R$ 1.800 | -+--------------------------------+-------------------+ -| Geradores | R$ 10.008 | -+--------------------------------+-------------------+ -| Gráfica/Estrutura | R$ 19.691 | -+--------------------------------+-------------------+ -| Homenagens | R$ 1.238 | -+--------------------------------+-------------------+ -| Hospedagens | R$ 7.420 | -+--------------------------------+-------------------+ -| Infraestrutura – Conferência | R$ 55.130 | -+--------------------------------+-------------------+ -| Infraestrutura – Treinamento | R$ 164 | -+--------------------------------+-------------------+ -| Kit dos Participantes | R$ 10.702 | -+--------------------------------+-------------------+ -| Link Internet | R$ 19.785 | -+--------------------------------+-------------------+ -| Local – Conferência | R$ 16.140 | -+--------------------------------+-------------------+ -| Local – Festa | R$ 1.498 | -+--------------------------------+-------------------+ -| Marketing | R$ 850 | -+--------------------------------+-------------------+ -| Seguro para Participantes | R$ 474 | -+--------------------------------+-------------------+ -| Limpeza | R$ 6.048 | -+--------------------------------+-------------------+ -| Segurança | R$ 849 | -+--------------------------------+-------------------+ -| Passagens | R$ 3.775 | -+--------------------------------+-------------------+ -| Outros Serviços (M.O.) | R$ 6.282 | -+--------------------------------+-------------------+ - -+--------------------------------+-------------------+ -| **Taxas** | **R$ 5.073** | -+--------------------------------+-------------------+ - -Palestrantes convidados e outros tantos foram hospedados sem custo -no hotel ou nos quartos da ESAF. - -O almoço, café e água nos três dias de conferência foram pagos pela organização. - -A Festa teve receita e despesa à parte paga com a compra de ingresso individual. -Apenas a reserva do local da festa (R$ 1.500) foi feito com o dinheiro da organização. - - -Fotos ---------- - -Todas fotos podem ser vistas no Flickr -da Python Brasil: http://www.flickr.com/photos/pythonbrasil/ - -**Foto Oficial:** -.. image:: ../../imagens/pybr9_fotooficial.jpg - -**Organizadores:** -.. image:: ../../imagens/pybr9_organizadores.jpg - -**Painel dos Patrocinadores na abertura:** -.. image:: ../../imagens/pybr9_patrocinadores.jpg - -**Kit dos Participantes:** -.. image:: ../../imagens/pybr9_kitparticipantes.jpg - - -Agradecimentos Especiais ------------------------- - -* Excelentíssimo Senhor Alexandre Motta (Subsecretário de Planejamento, Orçamento e - Administração do Ministério da Fazenda) por disponibilizar o local dos treinamentos na ESAF. - -* Embaixatriz Ana Amorim (Serpro) sem ela muitas portas não seriam abertas. - -* Excelentíssimo Embaixador Benedicto Fonseca (Ministério das Relações Exteriores) - por dar suporte a vinda dos palestrantes e participantes internacionais ao evento. - -* Excelentíssimo Senhor Luís Otávio (Secretário de Turismo do Distrito Federal) - pelo necessário suporte em fornecer o local do evento no coração de Brasília. - -* Excelentíssimo Senhor Marcos Mazoni (presidente do Serpro) pelo apoio dado - aos eventos software livre e pelo patrocínio. - -* Excelentíssimo Senhor Odilon Frazão (Chefe da Assessoria Internacional do - Distrito Federal) pelo apoio com a tradução simultânea do evento. - -* Fábio Surrage (Câmara dos Deputados) pelas manutenções no sistema de inscrições das conferências. - -* Fernanda Guedes Diogo pelo projeto de layout do local do evento no Centro de Convenções Ulysses Guimarães. - -* João Gouveia e Jean Ferri (Interlegis) por todos os voluntários que ajudaram no - credenciamento e outros itens emergentes da conferência. - -* Hector Velarde, Cléber Santos e Thiago Tamošauskas (Simples Consultoria) pela disponibilização - do site Plone Awards com seu sistema de votação. - -* Liberiun pelo design da proposta, dos folders e de todos materiais impressos. - -* Márcio Mazza e Érico Andrei pela implantação e manutenções no sistema de inscrições. - -* Rudá Moura (APyB) pela primeira hospedagem e manutenção da infraestrutura do site do evento. - -* André Nogueira (Simples Consultoria) pelo design do site. - -* Amigos Giuseppe Romagnoli e Rafahela Bazzanella por dividir sem medir esforços os árduos desafios diários. - - -Feedback dos Participantes --------------------------- - -"PythonBrasil! It was awesome, now I am just messing around here." -(Paul Hildebrandt, no Twitter @paulhildebrandt) em 6 de outubro de 2013 - -"Obrigado por ter ajudado a proporcionar esse evento excelente!" -(Fábio Miranda Costa, por e-mail) em 7 de outubro de 2013 - -"A PythonBrasil [9] foi sensacional. Muito grato a todos que fizeram acontecer: público, palestrantes e organizadores." -(Luciano Ramalho, no Facebook) em 11 de outubro de 2013 - -"#ploneconf #pythonbrasil sprint 2013-10-05: excellent location, thank you organizers and #ncst pic.twitter.com/VbL021sZ7O" -(Luciano Ramalho, no Twitter @ramalhoorg) em 6 de outubro de 2013 - -"Plone Conferences are great. Those who missed 2013 don't need to be reminded of that. But you might like to hear more about the post-conference sprint, which felt different than any I remember." -(Steve MacMahon) em 13 de outubro de 2013. Fonte: http://www.stevemcmahon.com/steves-blog/ploneconf-2013-the-sprint - -“Training and talks, meeting old friends, Plone getting a new burst of momentum.” -(Paul Everitt) em 8 de outubro de 2013. Fonte: https://agendaless.com/blog/plpycon-brasilia/ - -"Open Source — It works [...] I'm going to write a longer post about the fantastic Plone Conference 2013" -(Matt Hamilton) em 10 de outubro de 2013 -Fonte: http://www.netsight.co.uk/blog/open-source-2014-it-works?utm_source=twitterfeed&utm_medium=twitter - -"Parabéns pela organização do evento!" -(Mário Sérgio Oliveira de Queiroz, por e-mail) em 7 de outubro de 2013 - -"On my way to Brazil. Because I'm a programmer. Of free software." -(Eric Steele, no Twitter @esteele) em 29 de setembro de 2013 - -"Parabéns pela organização do PythonBrasil9/PloneConf 2013!!! O evento estava muito bom! Fluiu tudo muito bem!" -(Elizabeth de C. Wanderley Ramos, do Tribunal Superior Eleitoral, por e-mail) em 9 de outubro de 2013 - -"Muito obrigado. A conferência foi ótima!!!" -(Igor Tadeu S. V. Stemler, do Departamento de Pesquisas Judiciárias - CNJ, por e-mail) em 9 de outubro de 2013 - -"Parabéns por organizar a #pythonbrasil em conjunto com a Ploneconf, foi tudo muito legal! [...] Foi um casamento bonito, foi um evento pra lembrar em outras oportunidades." -(Rudá Moura, no Twitter @__ruda__) em 9 de outubro de 2013 - -"A @pythonbrasil foi sensacional. Parabéns. #pythonbrasil" -(Denis Costa, no Twitter @deniscostadsc) em 5 de outubro de 2013 - -"Me dei de presente de aniversário a oportunidade de participar da @PythonBrasil! \o/ #python #pythonbrasil" -(Fernando Macedo, no Twitter @fgmacedo) em 2 de outubro de 2013 - -"O evento foi show!!! pic.twitter.com/Wbw8rGCr8Z" -(Bruno Barbosa, no Twitter @brunobbbs) em 4 de outubro de 2013 - -"O melhor da @pythonbrasil são as pessoas. Se não fosse essa comunidade fenomenal eu não teria entrado no ecossistema." -(Vinicius Assef, no Twitter @viniciusban) em 2 de outubro de 2013 - -"Uma das coisas mais legais dessa @pythonbrasil é a diversidade de comunidade. Minas Gerias, Pernambuco, Piaui, Rio de Janeiro, São Paulo, etc" -(Cassio Botaro, no Twitter @cassiobotaro) em 3 de outubro de 2013 - -"Rodrigo Senra recordando toda a história da @pythonbrasil, no Show Pyrotécnico." -(Renato Lipi, no Twitter @renatolipi) em 4 de outubro de 2013 - -"So long and thanks for all the meat. #ploneconf #pythonbrasil . See you again in Bristol and Recife pic.twitter.com/HT9gYBwahF" -(Érico Andrei, no Twitter @ericof) em 5 de outubro de 2013 - -"Back in .nl after a great #ploneconf. Such a nice community! See you all next year, in Sorrento and Bristol and who knows where..." -(Guido Stevens, no Twitter <200f>@GuidoStevens) em 7 de outubro de 2013 - -"#ploneconf is over == sad. Caipirinha-sprint about to start == consoling. Thanks for a great conference!" -(Philip Bauer, no Twitter @StarzelDe) em 6 de outubro de 2013 - -"@ploneconf sprint was awsome, hope to more of those." -(Winston, no Twitter <200f>@winstonf88) em 6 de outubro de 2013 - -"Brazil Plone & Python community, Obrigado! #ploneconf was excelente!" -(Steve McMahon, no Twitter @shmcmahon) em 6 de outubro de 2013 - -"@ploneconf thanks for all your hard work hosting us! It was a fantastic conference." -(David Glick, no Twitter @davisagli) em 6 de outubro de 2013 - -"The sad sign that this is the last day of the #ploneconf sprint. pic.twitter.com/bVjcKdJc5G" -(Steve McMahon <200f>@shmcmahon) em 6 de outubro de 2013 - -"It's the end of @PloneConf 2013 and @PythonBrasil 9, was amazing time! See you… pic.twitter.com/1WcJeqzTUF" -(Jean Ferri, no Twitter <200f>@JeanFerri) em 4 de outubro de 2013 - -"Números o cifras resultantes del @pythonbrasil y del @ploneconf 2013 #pythonbrasil #ploneconf pic.twitter.com/vbEbzAu0Rv" -(Plone Venezuela, no Twitter <200f>@PloneVe) em 4 de outubro de 2013 diff --git a/source/introducao/historia/video-explicacao.rst b/source/introducao/historia/video-explicacao.rst deleted file mode 100644 index 7d0e738..0000000 --- a/source/introducao/historia/video-explicacao.rst +++ /dev/null @@ -1,32 +0,0 @@ -********************* -Hangout sobre a história das Python Brasil -********************* - -**Hangout com ex-organizadoras das Python Brasil ao longo dos anos falando sobre a conferência. O assunto pricipal é sobre a Python Brasil 11 [2015], em São José dos Campos.** - -.. raw:: html - - - -- O que são Tutoriais? -- O que são Palestras? -- O que é Sprint? -- Palestrante tem desconto? -- Estudante tem desconto? -- Mulher tem desconto? -- Por que ingresso para empresa e setor público é mais caro? -- O que são Lightalks? Qualquer um pode fazer? -- Como organizar uma Python Brasil? -- Como ser o próximo Big Kahuna? -- Dicas como lidar com burocracia na organização de uma PythonBrasil? -- Qual é o maior desafio de organizar uma PythonBrasil? -- É possível participar dos tutoriais e não das palestras, e vice-versa? -- Como funciona a área open space? (horário de funcionamento, como participar e duração de cada atividade) -- A Python Brasil é aberta para pessoas iniciantes ou que venham de outras linguagens como Ruby por exemplo? -- Dicas de hotéis próximos -- Como chegar ao local do evento pra quem não entende nada de SP :) -- Por que patrocínios com brindes e sorteios não são aceitos? -- `Código de Conduta APyB `_, um overview sobre o que é, para que server e onde se aplica dentro da PythonBrasil[11] -- `Propostals para Plone Conference `_ -- `Mapa da Python Brasil `_ -- `Prêmio Dorneles Trémea `_ diff --git a/source/introducao/introducao.txt b/source/introducao/introducao.txt deleted file mode 100644 index 52e67d3..0000000 --- a/source/introducao/introducao.txt +++ /dev/null @@ -1,68 +0,0 @@ -.. index:: - single: Sobre a Python Brasil - -********************* -Introdução -********************* - -Este documento foi criado originalmente em 2011 e passa por sucessivas modificações por parte da diretoria da Associação Python Brasil (APyB) e das organizações da Python Brasil ao longo dos anos. - -O objetivo é auxiliar na organização de eventos futuros da APyB, sobretudo das edições futuras da Python Brasil. Sendo assim, é de responsabilidade das equipes organizadoras de cada Python Brasil atualizar este manual com os dados referentes a sua edição. - -Python Brasil -======================= - -A Python Brasil é o evento anual da comunidade Python brasileira. Organizado pela Associação Python Brasil (APyB) desde sua terceira edição, já foi conhecido como PyConDays (apenas na primeira edição, em Campinas, 2005), e como PyConBrasil, nome utilizado até a quarta edição. - -O evento tem como objetivos: - - * Ser o encontro da comunidade brasileira de Python; - - * Ser a porta de entrada nesta comunidade; - - * Financiar ações da APyB; - -.. index:: - single: Big Kahuna - -Big Kahuna -===================== - -A 'Big Kahuna' é a gerente do projeto, responsável por formar a equipe de organização e gerenciar o seu trabalho coletivo. Também é responsável por coordenar e gerenciar todas as atividades inerentes a organização do evento, bem como ser a responsável fiscal. - -Para ocupar esse cargo, a pessoa deve ser da comunidade Python Brasil e `associada a APyB `_. - -O evento é fruto do trabalho de diversas pessoas, e é responsabilidade de todas o sucesso da empreitada. - -.. index:: - single: História - -História -===================== - -Sabia sobre a história da Python Brasil na live promovida por ex-organizadoras em 2015: `Hangout sobre a história das Python Brasil `_ - -Nesta sessão estão disponíveis o resumo de cada Python Brasil. - -.. toctree:: - :maxdepth: 1 - - historia/pyconbrasil - historia/pyconbrasil2 - historia/pyconbrasil3 - historia/pyconbrasil2008 - historia/pythonbrasil5 - historia/pythonbrasil6 - historia/pythonbrasil7 - historia/pythonbrasil8 - historia/pythonbrasil9 - historia/pythonbrasil10 - historia/pythonbrasil11 - historia/pythonbrasil12 - historia/pythonbrasil13 - historia/pythonbrasil14 - historia/pythonbrasil15 - historia/pythonbrasil16 - historia/pythonbrasil17 - historia/pythonbrasil18 - historia/pythonbrasil19 \ No newline at end of file diff --git a/source/modelos/comunitario.txt b/source/modelos/comunitario.txt deleted file mode 100644 index 425034c..0000000 --- a/source/modelos/comunitario.txt +++ /dev/null @@ -1,91 +0,0 @@ -Comunitário -======================== - -Descrição do modelo ---------------------- - -Modelo de gestão original da PythonBrasil. Foi adotado nas edições de Campinas -e de Brasília. - -A organização é realizada por voluntários com apoio de uma instituição -- que -provê o local e recursos para a realização do evento. - -Patrocínios são tratados ad-hoc ou são inexistentes dado regras da instituição -que hospeda o evento. - -Matriz de responsabilidades ------------------------------------- - -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| | APyB | Big Kahuna | Instituição | -+=========================================================+===================+===================+===================+ -| **Divulgação** | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Site do evento (Criação) | X | | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Site do evento (Atualização) | | X | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Banners para divulgação online | X | | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Cartazes para divulgação offline | X | | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Contato com imprensa local | | X | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Divulgação em universidades e grupos regionais | X | X | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| **Estrutura** | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Coffee-break | | | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Áudio, Vídeo e Foto | | X | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Tradução Simultânea | | X | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Disponibilização do auditórios/salas | | | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Sinalização do local | | X | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Acesso internet | | | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Montagem Pastas | | X | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Voluntários / Organização do evento | | X | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| **Inscrições** [#]_ | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Contrato com Gateway Pagamento | X | X | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Controle de Inscrições | X | X | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Geração de crachás | X | X | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Geração de Certificados | X | X | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| **Patrocínio** [#]_ | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Plano de captação | X | X | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Venda de cotas | X | X | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Faturamento das cotas | X | X | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Prestação de contas | X | X | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| **Temário** | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Convite aos Keynotes | X | X | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Definição de trilhas / espaços | X | X | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Chamada de trabalhos | X | | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Avaliação dos trabalhos | X | | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ - - -.. [#] Na edição de Campinas as inscrições foram direcionadas a uma instituição de - caridade. Em Brasília, o Interlegis proibia a cobrança de inscrição, - portanto este item não faz sentido quando analisado naquele contexto. - -.. [#] Nas edições em que tivemos este modelo, não houve venda de patrocínio, - portanto esta é uma distribuição teórica das responsabilidades \ No newline at end of file diff --git a/source/modelos/index.txt b/source/modelos/index.txt deleted file mode 100644 index ca32d01..0000000 --- a/source/modelos/index.txt +++ /dev/null @@ -1,10 +0,0 @@ -************************* -Modelos de Organização -************************* - -.. toctree:: - :maxdepth: 1 - - comunitario - misto - profissional \ No newline at end of file diff --git a/source/modelos/misto.txt b/source/modelos/misto.txt deleted file mode 100644 index 1bfc98f..0000000 --- a/source/modelos/misto.txt +++ /dev/null @@ -1,93 +0,0 @@ -Misto -======================== - -Descrição do modelo ---------------------- - -Modelo de gestão mais utilizado na história da PythonBrasil. -Foi adotado a partir da edição de Joinville até a edição de Curitiba. - -A organização fica a cargo do Big Kahuna, com apoio da APyB, mas a -comercialização do evento -- venda de patrocínios e apoios -- é realizada por -empresa especializada, em troca de participação no resultado. - -Matriz de responsabilidades ------------------------------------- - -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| | APyB | Big Kahuna | Contratada | -+=========================================================+===================+===================+===================+ -| **Divulgação** | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Site do evento (Criação) [#]_ | X | | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Site do evento (Atualização) [#]_ | | X | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Banners para divulgação online [#]_ | X | | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Cartazes para divulgação offline [#]_ | X | | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Contato com imprensa local | | X | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Divulgação em universidades e grupos regionais | X | X | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| **Estrutura** | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Coffee-break | | | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Áudio, Vídeo e Foto [#]_ | X | X | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Tradução Simultânea | | X | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Disponibilização do auditórios/salas | | X | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Sinalização do local | | X | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Acesso internet | | X | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Montagem Pastas | | X | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Voluntários / Organização do evento | | X | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| **Inscrições** | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Contrato com Gateway Pagamento | X | | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Controle de Inscrições | X | | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Geração de crachás | X | | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Geração de Certificados | X | | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| **Patrocínio** | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Plano de captação | | | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Venda de cotas | | | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Faturamento das cotas | | | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Prestação de contas | | | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| **Temário** | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Convite aos Keynotes | X | X | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Definição de trilhas / espaços | X | X | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Chamada de trabalhos | X | | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Avaliação dos trabalhos | X | | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ - -.. [#] APyB contrata empresa em troca de apoio no site do evento - -.. [#] Nas edições de Caxias do Sul e de Curitiba a Diaspar também realizou a - atualização eventual do site do evento. - -.. [#] APyB contrata empresa em troca de apoio no site do evento - -.. [#] APyB contrata empresa em troca de apoio no site do evento - -.. [#] Na edição de Curitiba a filmagem e fotos do evento foram contratadas - pela Diaspar após escolha da diretoria da APyB diff --git a/source/modelos/profissional.txt b/source/modelos/profissional.txt deleted file mode 100644 index 31295b6..0000000 --- a/source/modelos/profissional.txt +++ /dev/null @@ -1,84 +0,0 @@ -Profissional -======================== - -Descrição do modelo ---------------------- - -Modelo de gestão utilizado na edição 7 da PythonBrasil. - -A APyB fica com a responsabilidade pelo temário do evento, enquanto o restante -da organização é realizada pelo Big Kahuna e/ou empresa que ficará responsável -pelo resultado do evento. - -Matriz de responsabilidades ------------------------------------- - -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| | APyB | Big Kahuna | Contratada | -+=========================================================+===================+===================+===================+ -| **Divulgação** | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Site do evento (Criação) | | X | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Site do evento (Atualização) | | X | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Banners para divulgação online [#]_ | | | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Cartazes para divulgação offline [#]_ | | | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Contato com imprensa local | | X | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Divulgação em universidades e grupos regionais | X | X | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| **Estrutura** | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Coffee-break | | X | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Áudio, Vídeo e Foto | | X | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Tradução Simultânea | | X | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Disponibilização do auditórios/salas | | X | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Sinalização do local | | X | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Acesso internet | | X | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Montagem Pastas | | X | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Voluntários / Organização do evento | | X | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| **Inscrições** | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Contrato com Gateway Pagamento | | X | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Controle de Inscrições | | X | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Geração de crachás | | X | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Geração de Certificados | | X | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| **Patrocínio** | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Plano de captação | | | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Venda de cotas | | | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Faturamento das cotas | | | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Prestação de contas | | | X | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| **Temário** | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Convite aos Keynotes | X | X | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Definição de trilhas / espaços | X | X | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Chamada de trabalhos | X | | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ -| Avaliação dos trabalhos | X | | | -+---------------------------------------------------------+-------------------+-------------------+-------------------+ - -.. [#] Contratada seleciona fornecedor em troca de apoio no site do evento - -.. [#] Contratada seleciona fornecedor em troca de apoio no site do evento diff --git a/source/organizacao/index.md b/source/organizacao/index.md deleted file mode 100644 index 25f9733..0000000 --- a/source/organizacao/index.md +++ /dev/null @@ -1,263 +0,0 @@ -# Organizando uma Python Brasil - -Vamos criar um manual para você que deseja organizar uma Python Brasil tenha um norte. -Leia com atenção cada passo: - -Assim que você assumir essa responsabilidade, você precisa iniciar a organização do time que auxiliará a fazer o evento acontecer. - -Leia com atenção os tópicos, estamos iniciando com a definição de times, mas logo abaixo existe um proposta de road-map,sugestão de como definir o evento, dicas e discussões comuns que acontecem durante a organização de uma Python Brasil. - -Os principais papéis necessarios são: - -### Time de Captação Recursos -O time de captação de recursos deve trabalhar na viabilização do evento, esse time deve trabalhar próximo ou compartilhar pessoas com o time de fiscal/financeiro, para que todos estejam sempre alinhados. -- Desenvolver Plano de Patrocínio -- Buscar Patrocínios -- Buscar Parcerias: - - hoteis, restaurantes -- Organizar Ingressos (Lotes, Codigos Promocionais) -- Sistema de Check-in/Reembolso - -### Time de Financeiro/Fiscal -Aqui vem uma parte burocrática de manter sempre atualizado o fluxo de caixa e um relacionamento próximo com a associação python brasil(Apyb). -Idealmente esse time deve ter uma proximidade também com o administrativo para que possam juntos trabalhar no custo previsto e total do evento. -- Organizar Fluxo de caixa -- Previsibilidade de Custo -- Fazer os pedidos de nota -- Fazer os pedidos de reembolso -- Relacionamento com APyb -- Criação e configuração do evento na ferramenta de ingressos (por padrão utilizamos o eventbrite) - -### Time de Marketing/Publicidade -Time que deve trabalhar junto com todos os demais para que a identidade do visual seja integralmente unificada, lembrando que o simples é sempre o melhor em todas as situações, dentre as muitas atividades algumas são: -- Personalização e implantação da identidade visual no Plano de Patrocínio. -- Gerenciar as Redes sociais -- Fazer as postagens -- Desenvolver a Identidade visual do evento - - criar moockups para site - - criar moockups para redes (thumbs das redes sociais) - - criar moockups para lonas - - criar moockups para banners - - criar moockups para paineis - - criar moockups para adesivos - - criar moockups para camisas -- Relacionamento com comunidades -- Fazer atendimento de respostas nos multiplos canais da python brasil - - linkedin - - instagram - - twitter - - facebook - - telegram - - solução de ingressos (auxiliar nas resposta de duvidas) - - solução de palestras (auxiliar nas resposta de duvidas) - - e-mail - -### Time de Infraestrutura - -Esse time vai ser fundamental próximo ao evento, e é muito importante que estejam proximos à cidade do evento para viabilizar melhor todas as situações, pessoas distantes da cidade sede podem ajudar, mas seriam melhor alocadas em outros times, dentre as responsabilidades do time: -- Orçar e fechar o Local do evento -- Orçar e fechar equipe de limpeza (caso não esteja inclusa na contratação do local principal) -- Orçar e fechar Internet -- Orçar e fechar Fotografia -- Orçar e fechar equipe de som -- Orçar e fechar equipe de filmagem -- Orçar e fechar equipe de transmissão online (provavelmente será a mesma da de filmagem) -- Orçar e fechar Tradução Simultanea -- Orçar e fechar Comunicação no dia do evento - - Radios ou um canal rapido de conversa para o operacional -- Orçar e fechar time de Libras -- Organizar transmissão - - Chaves do youtube - - links para as transmissões - - programação de start e stop das trasnmissões -- Buscar locais para realização dos tutoriais -- Ser porta-voz dos translados e mobilidade dos keynotes - - -### Time de Experiencia do evento -O time de experiencia do usuario deve conseguir integrar as pessoas e mostrar o carinho que a cidade sede quer transmitir, tentando organizar atividades espaços e experiencias para as pessoas que vem ao evento. -- Coffe Breack - - organizar coffe vegano - - organizar coffe vegetariano - - organizar coffe onivaro - - organizar coffe celiaco -- Kit banheiro -- Lighttalk -- Guarda Volumes -- Coworking -- Sleep/Relax space -- Guia da cidade - -### Time de Administração -O time administrativo, deve conter principalmente pessoas de tomada de descisão, fazendo o papel de contratação orçamento e cuidado com fornecedores, são bem vindas pessoas com garagens grandes. -- Orçamentos -- Contratos -- Imobilizado do evento: - - cordinhas - - crachas - - camisas - - brindes - - -### Time Técnico -O time tecnico é de longe talvez o que mais pessoas vão querer participar, pois é um evento de tecnologia. Esse time tem a responsabilidade de: -- Criar o site do evento utilizando a URL que a Apyb disponibiliza (aquela 2022.pyhtonbrasil, 2023.pythonbrasil, etc) com base na identidade visual criada pelo time de design. -- O site deve ser um html statico, pode ser usado algum framework para ajudar como: Pelican, Hugo, Jekyls... ou mesmo escrever diretamente o html e o css. -- Manter o site atualizado com todas as informações que forem passadas ao público (keynotes, plano de patrocinio, disponibilização da grade de palestras, local do evento, etc) -- Cuidar dos acessos (Autorizar acessos a arquivos, sistemas e repositórios) -- Criar sistemas de notificação, criando formas de facilitar para que os participantes possam facilmente receber noticias do evento - - Aplicativo - - Canais em chats - - Notificar atualizações do site -- Criar integração com plataforma de ingressos e palestras. - - links ou outras integrações - -### Time de Conteúdo - -Responsável por gerenciar a grade de atividades oficiais do evento como palestras, tutoriais, assembleias, keynotes. - -- Criação e configuração do evento na ferramenta de submissão de atividades (por padrão utilizamos a ferramenta pretalx) -- Criação do formulário de submissão de atividades -- Avaliação de atividades para definir quais entram na grade -- Definição de estratégias de seleção de keynotes (votação garantia que ja não tenha sido, alem de estrategia de marketing encima do keynote) - -> É comum (apesar de não obrigatório) que a Assembleia Geral da APyB ocorra presencialmente -> durante a Python Brasil. A convocação de Assembleias possui regras definidas no -> [Estatuto](https://github.com/apyb/estatuto/) da Associação para que tenham validade -> legal. Fiquem atentos, especialmente em relação a **prazos de divulgação** às pessoas -> associadas para evitar problemas que impeçam sua realização. - -## Definição do evento - -Uma vez os times contruidos, é importante que as pessoas-chave da organização sentem e façam a definição do evento: - - Quantas pessoas esperamos ? - - Data do evento ? - - Estrategia de comunicação... - - Evento de Tecnologia? - - Evento de Comunidade? - - Evento Educacional? - -Uma vez feito essas definições deve se fazer um orçamento base para o evento acontecer que consite em - - Local do evento - - Cuidado para sempre buscar locais ja com infraestrutura adequada tipo (cadeiras, salas divididas, sala principal que comporte todas as pessoas do evento, banheiro e acessibilidade) evite pegar espaços pra construir ou reformar, o custo é sempre muito alto - - Coffe break - - Audio visual: - - Projetores - - Microfones - -Feito essa cotação inicial você deve ter material suficiente para fazer os planos de patrocinio, algo como 50%, 30%, 20%, 10% com base nos custos isso te dara o -diamante, ouro, prata, bronze, apartir disso você pode criar outras cotas lembrando que esse calculo é uma sugestão tudo pode depender da realidade do momento. - -A proposta de roadmap abaixo sugere que seja feito a identidade visual antes do plano, mas as atividades podem ser paralelizadas. Outra sugestão é sempre focar primeiro no plano depois na data e local, mas essas atividades podem ser invertidas para o bem de um plano mais assertivo. - -Lembre-se o Plano de patrocinio não deve ser escrito em pedra, alterações podem e devem ser feitas rapidamente para se adaptar a situação socio-econômica da época. - -Empresas são pessoas só que mais burocráticas, pedindo com jeitinho e educação tudo se resolve até mudança de cotas, evite rebaixar empresas sempre suba as cotas ou crie algo maior, mas nunca rebaixe. - - -## Protótipo de roadmap - -> Sugestão de trabalhos, as atividades e a ordem estão sempre em discussão e devem ser sempre atualizadas: - -Atividades: - - Definir calendario de reuniões (mensal, quinzenal, semanal) - - Definir tamanho do evento: - - Numero de trilhas - - Numero de pessoas - - Numero de tutoriais - - Numero de locais (Muitas vezes não é possivel achar um espaço que contemple tutorias e palestras) - - Definir Times - - Definir Identidade Visual com principais elementos e ja com mockups. - - Alguns mockups uteis: - - Cracha - - Camisa - - Cordinhas - - Sacolas - - Apresentações - - Templates para publicação - - palestrantes - - keynotes - - patrocinios - - avisos - - Definir plano de patrocinio: - - Beneficios disponiveis - - fisicos - - digitais - - Cotas - - Estrategia de comunicação (2023 foi adotado "evento educacional") - - Definir Data, local e grade temporária: - - Grade temporária seria um planejamento de slots quantos keynotes, quantas palestras, horários, numeros de tutoriais, dias de sprint, dias de tutorial - - o local para os tutorias devem incluir laboratorios de informatica. - - o local para as palestras é necessário contemplar - - Salas dividias para trilhas - - Sala principal que comporte todo o público - - Banheiros - - Acessibilidade - - Sala para organização/keynotes - - Espaço para coffe break - - Iniciar planilha de caixa - - Iniciar orçamentos junto com captação de recursos. - - Iniciar chamada de trabalhos (C4P) - - Iniciar votação interna de keynotes - - Viabilizar os translados e planejamento dos keynotes - - Fazer ativações em eventos regionais. - - - -Tenham sempre muito cuidado com paralelismo de atividades e concorrencia entre recursos, evitem sobrecarregar times especificos. - -Dentre todas as atividades é uma boa pratica fazer atas das reuniões e manter tudo organizado nos repositorios que são disponibilizados para o evento. - -### Outras dicas: - -- Concentre-se inicialmente em preparar e divulgar seu plano de patrocinio, tente definir rapidamente a identidade visual que será adotada, assim ja terá uma base para tudo, lembre-se que empresas tem uma agenda complexa de pedido de patrocinio. - -- Tente enviar o mais cedo possivel os planos para as empresas, e de muita atenção as mesmas. - -- Uma vez tendo viabilizado financeiramente, seu proximo foco deve ser as atividades e a grade, fazer o C4P e fazer as avaliações para poder divulgar e confirmar cedo as palestras do evento. - -- A grade do evento convida pessoas a vir, tente dar pelo menos 45 dias para as pessoas verem a grade e descidir se virão ou não, dependendo do local que o evento esta. Proximo aos extremos do pais, isso é muito importante. - -- Chegando proximo ao evento concentre-se nos beneficios dos patrocinadores e em produzir todos os beneficios fisicos, exitem beneficios que precisam de entorno de 30 dias de antecipação como estandes, camisas, copos, alguns mais rapidos são as impressões como crachá, adesivos. - -- O evento é muito importante para alunos de universidades, faculdades e escolas de ensino medio, busque encontrar acesso a essas pessoas e tente viabilizar a ida deles com apoio das escolas, caso o evento esteja financeiramente bom gaste tudo que puder para trazer novos integrantes para a comunidade sendo estudandes de escolas ou grupos subrepresentados, busque associaçoes regionais que possam lhe auxilar. - -- A experiencia do evento deve correr sempre em paralelo mas no estagio final do evento isso sera muito necessario para finalizar compras (kit de banheiros, presente para palestrantes, keynotes, instrutores) e a organização de atividades (pybar, algohave, django-girls...). - - - -# Tretas comuns - - -#### Os organizadores, palestrantes, ministrantes de tutorial, pagam ingresso? ---- -Essa decisão é tomada pela organização. Dessa forma, todo ano é discutido esse tema para cada um desses grupos. - -Levem em consideração os seguintes pontos: - * Definam se organização paga ingresso e principalmente quem será considerado "organização". Uma opção é considerar que todas as pessoas que forem trabalhar no evento presencial não poderão aproveitá-lo, pois estarão ocupadas com as responsabilidades de org, então seria bom não pagarem. - * Definam isso para palestrantes e ministrantes de tutoriais ANTES de abrir o Call For Papers para já deixar explicito na submissão. - * Dependendo da situação econômica da região, do pais e da verba do evento, essa questão pode ser reconsiderada. - -> Deve-se deixar isso explicito a todos, pois o evento não tem orçamento proprio ele deve ser sempre autocontido mesmo as camisetas da organização saem do custo do evento. - - -#### Código de conduta (CDC) ---- -O Comitê de Código de Conduta é organizado e montado com ajuda da organização, mas é totalmente independente tendo poder até em cima da organização durante a realização do evento. - -O CDC só cobre as atividades oficiais da Python Brasil (tutoriais, sprints, palestras, Django Girls), todos os demais eventos extraoficiais (Algorave, PyBar, Pós-Evento) pode causar situações para os próximos dias, mas o CDC não atua fora do evento (possíveis situações devem ser tratadas no evento). - -A comunidade se posiciona sempre e ajuda em outras situações, mas a organização do evento não pode se comprometer com isso. - -> Importante destacar que é imprescindível, que toda a organização e comitê estejam a par do conteúdo do [Código de Conduta](https://python.org.br/cdc/). - -#### Programas de apoio de custo e ingressos cortesia para grupos sub-representados ---- - -Esse tipo de programa é sempre bem vindo, mas a organização deve sempre olhar para o financeiro e a viabilização do evento. - -A organização estando definida e organizada, pode-se ir atrás desses grupos e viabilizar a vinda deles através de iniciativas dos próprios grupos com o apoio da organização (apoiar na divulgação, alcance e suporte para viabilizar a parceria). - -> A organização não deve se comprometer com a criação desses programas, pois é uma atividade da comunidade. A organização sempre é, e provavelmente sempre vai ser, sobrecarregada com outras atividades. - -**OBS**: Cuidado para não abrir precedentes que possam exigir que toda a organização faça pois a comunidade gostou. diff --git a/source/proposta/index.txt b/source/proposta/index.txt deleted file mode 100644 index 8e8c398..0000000 --- a/source/proposta/index.txt +++ /dev/null @@ -1,9 +0,0 @@ -************************* -Proposta de Candidatura -************************* - -.. toctree:: - :maxdepth: 1 - - introducao - modelo diff --git a/source/proposta/introducao.txt b/source/proposta/introducao.txt deleted file mode 100644 index 9b04a1d..0000000 --- a/source/proposta/introducao.txt +++ /dev/null @@ -1,114 +0,0 @@ -O processo de escolha -======================== - -O processo de escolha da sede da PythonBrasil segue um calendário que começa com -a chamada de candidaturas, passa pela análise das propostas e culmina no -anúncio do local. - -Chamada de candidaturas --------------------------- - -Realizada pela diretoria da APyB, dá início ao processo de escolha com a -publicação das datas e critérios relativos a escolha da nova sede da -PythonBrasil. - -Durante este período a diretoria da APyB define qual o grupo de pessoas será -responsável pela análise das propostas. - -Análise das propostas --------------------------- - -Ao final deste período inicia-se o processo de escolha propriamente dito com a -análise das propostas enviadas. A análise se dará com base na apresentação -de cada proposta e em sua respectiva planilha de estimativas. - -Caso existam dúvidas, os responsáveis por cada uma das propostas serão -contatados diretamente e o esclarecimento será anexado aos documentos -enviados. - -A definição da proposta vencedora se dará dentro do grupo. - -Anúncio do local --------------------------- - -Com uma proposta vencedora, o local e (idealmente) a data serão anunciados para -a comunidade. - - -Elaboração da proposta -========================== - -Objetivos do evento --------------------------- - -A PythonBrasil é o evento anual da comunidade Python brasileira e tem como objetivos: - - * Ser o encontro da comunidade brasileira de Python - - * Ser a porta de entrada nesta comunidade - - * Financiar ações da APyB - -Qualquer proposta submetida **deve** endereçar este objetivos de maneira clara e -objetiva para que seja avaliada durante o processo de escolha. - -.. note:: A escolha da sede é feita com dois anos de antecedência para otimizar - o processo de organização. - - -Detalhamento dos números --------------------------- - -Seja muito criterioso no detalhamento de custos e de fornecedores relativos ao -evento incluindo explicações onde os valores divirjam do praticado no mercado -- -ex.: Caso o evento não contemple custo de filmagem, descreva a razão pela -qual isto ocorrerá. - -Restrições às restrições --------------------------- - -Não serão aceitas propostas que imponham restrições a exposição de marcas de -patrocinadores, cobrança de ingresso ou à venda de produtos dentro do -local onde o evento estiver sendo realizado. - -Escolha de datas --------------------------- - -A PythonBrasil ocorre no segundo semestre do ano. A definição da data do evento -fica a critério do organizador, que deve considerar os seguintes fatores: - - * Feriados nacionais e locais - - * Datas religiosas - - * Conflito com outros eventos de TI - - * Conflito com outros eventos na cidade - - * Possibilidade de organização conjunta com eventos de Python em países - vizinhos [#]_ - -.. [#] Nos últimos anos a PythonBrasil vem se beneficiando da organização - conjunta do evento com a comunidade argentina. Esse trabalho permite trazer - palestrantes internacionais que se apresentam nos dois países à um custo menor. - -Considere, por exemplo, que a coincidência da PythonBrasil com um outro evento -na mesma cidade pode siginificar uma redução significativa nas opções de -hospedagem e de deslocamento -- isto sem falar no custo para os membros da -comunidade. - - -Exemplos e modelos -==================== - -Como exemplo deixamos um modelo de proposta de candidatura, bem como uma -planilha -- com dados falsos -- para que você baseie sua proposta. - - * :doc:`modelo`. - - * :download:`Planilha exemplo -- candidatura fictícia - <./planilhas/saopaulo-2010.ods>`. - -Caso queria, também temos uma planilha em branco, para ser preenchida: - - * :download:`Planilha base <./planilhas/base.ods>`. diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..f4610b1 --- /dev/null +++ b/uv.lock @@ -0,0 +1,583 @@ +version = 1 +revision = 3 +requires-python = ">=3.13" + +[[package]] +name = "babel" +version = "2.18.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7d/b2/51899539b6ceeeb420d40ed3cd4b7a40519404f9baf3d4ac99dc413a834b/babel-2.18.0.tar.gz", hash = "sha256:b80b99a14bd085fcacfa15c9165f651fbb3406e66cc603abf11c5750937c992d", size = 9959554, upload-time = "2026-02-01T12:30:56.078Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/f5/21d2de20e8b8b0408f0681956ca2c69f1320a3848ac50e6e7f39c6159675/babel-2.18.0-py3-none-any.whl", hash = "sha256:e2b422b277c2b9a9630c1d7903c2a00d0830c409c59ac8cae9081c92f1aeba35", size = 10196845, upload-time = "2026-02-01T12:30:53.445Z" }, +] + +[[package]] +name = "backrefs" +version = "8.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/68/bc/c4b75b0279b2cf9e208c7dea5755a452d158a32abe1b7330824ff1127e86/backrefs-8.1.tar.gz", hash = "sha256:f86d9312df3ebae1241758af80809a319cafa1d8f32189edfb242c9aa55573b6", size = 6999089, upload-time = "2026-10-10T13:29:24.051Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/da/17/7be730f397b9239be5044a147f0cdfbd9605111b07af053c737b21d79d16/backrefs-8.1-py310-none-any.whl", hash = "sha256:438bd38dc7fa0cded52786a1351a2dad9efc2cda95d047284c41d916a22312a8", size = 380382, upload-time = "2026-10-10T13:29:12.764Z" }, + { url = "https://files.pythonhosted.org/packages/fd/d1/d25387b14119b7062fead6c9b2e87c2ab286beb346df79c6a649c095e979/backrefs-8.1-py311-none-any.whl", hash = "sha256:11f61846e446fa8637af2f5c073f1083aa58dbb7460b019fd51689f564e44f7e", size = 392180, upload-time = "2026-10-10T13:29:14.729Z" }, + { url = "https://files.pythonhosted.org/packages/7d/63/4c3078fcbb3956c55b24472d8375a1b7ad67203d4a1917512eee34d4fbee/backrefs-8.1-py312-none-any.whl", hash = "sha256:b472c76082769f86a97ffccfd1f2599b2b706610c6154955664fffe67e909035", size = 398092, upload-time = "2026-10-10T13:29:16.364Z" }, + { url = "https://files.pythonhosted.org/packages/df/22/60f30c9b8e497ca4bbac23991a726ebc267e23771a1b9d9c04b3a3c16dd6/backrefs-8.1-py313-none-any.whl", hash = "sha256:db577dbae1c61187534d35fc9bfbd0c01158fff6239a66fecf7590e5b17879a9", size = 400050, upload-time = "2026-10-10T13:29:18.09Z" }, + { url = "https://files.pythonhosted.org/packages/45/c7/80fa46ecb47717845ab9c07bce8651ef8f80aac5ec698e212d02ed2a9963/backrefs-8.1-py314-none-any.whl", hash = "sha256:1e857c32e91b8fe46ddb359ac21021a37b090fa4239566a61e9856123e334041", size = 411908, upload-time = "2026-10-10T13:29:19.876Z" }, + { url = "https://files.pythonhosted.org/packages/05/32/a57c5a5b7461b8c88266244014aa38052d76f64b064451b1d5342eb09bf4/backrefs-8.1-py315-none-any.whl", hash = "sha256:9c8fe3e2eaae4301a9ce787341d986e5ba25a887d89da6de0de5d58eca26a949", size = 417589, upload-time = "2026-10-10T13:29:21.821Z" }, +] + +[[package]] +name = "certifi" +version = "2026.10.23" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fd/11/b524cbd9bbdaca58608e4cf4053fd463417549e1959fa8d3aa18319f9555/certifi-2026.10.23.tar.gz", hash = "sha256:a9895e6e2758b371e0545e321a3a8fd1fcfd9829ada8824a936dfb16aaaf36cd", size = 136225, upload-time = "2026-10-23T11:36:16.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/32/d1/a3652fe2c19134d0d15922177821d863cbd7e842d53a21bbe7e8e3a1b5ac/certifi-2026.10.23-py3-none-any.whl", hash = "sha256:e9b54de76e530bb6cf0ccd036787103acb58fd42ba930ea8bf948ddbaa2f61d1", size = 135082, upload-time = "2026-10-23T11:36:14.763Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.5.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/33/1c/f41d4e74c28ab327ff3acd36053f7ea506c55872d7a90b0fa71aa3ab0c89/charset_normalizer-3.5.2.tar.gz", hash = "sha256:39de2a259fc954455c57274dc94c79d5842774e1247a016aff30bc0efed0f4ef", size = 172659, upload-time = "2026-09-30T04:39:23.398Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c5/34/68292d68512768591aaff07c59bb53ee31341c87759433a859c4641a50c2/charset_normalizer-3.5.2-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:ed905975ab14056a2e5eb1c376cb2e1ebc5396baf84163939c518556fccde9f5", size = 225946, upload-time = "2026-09-30T04:35:55.313Z" }, + { url = "https://files.pythonhosted.org/packages/e3/80/bee0b01b90ccd5322ae1d0abb33fab1bd95b7c2eadaf02aeccf22e04ee83/charset_normalizer-3.5.2-cp313-cp313-android_24_x86_64.whl", hash = "sha256:a66c3bc5ab1f0ff2164fc9965ddd611ff0802173f4b9d24554c563f6ab7e1d6e", size = 238619, upload-time = "2026-09-30T04:35:56.863Z" }, + { url = "https://files.pythonhosted.org/packages/78/6e/60ce52a85a7fd631ae8482ae6d74521014ca2f255892679484dc04d7ef56/charset_normalizer-3.5.2-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:d2374b62878abb00cd8309b32af6c0b715cd02dec0ca74ef12e5069bdc64144a", size = 206701, upload-time = "2026-09-30T04:35:58.639Z" }, + { url = "https://files.pythonhosted.org/packages/36/8c/71aafad23f971afc84c2b295bc0c560739ce1dac558aad9fec22e39f3639/charset_normalizer-3.5.2-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:d376bbd28b3a8999db1a103b3b388aee6f1ddeb3e51bc2172993efdcd86e064d", size = 210506, upload-time = "2026-09-30T04:36:00.147Z" }, + { url = "https://files.pythonhosted.org/packages/91/da/3c5a7798c046df7d2d68ad653cf5b6c5a8bfee225055a843c6f2f42aac1a/charset_normalizer-3.5.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6045373d5a89a5ec71afde535db987ca28e76dfa276c2d4c818265b375d4b055", size = 366626, upload-time = "2026-09-30T04:36:01.77Z" }, + { url = "https://files.pythonhosted.org/packages/e1/16/710ac3de2ee354e2bd1a9c94efe45a2d27b5c6ad39b2d6a905be2c094b6c/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:849df64e889b2e17230d58410a03dba311a65b163508fd33679b2b737d4b7858", size = 244624, upload-time = "2026-09-30T04:36:03.389Z" }, + { url = "https://files.pythonhosted.org/packages/d6/39/45c7439f5b63d24f7d5b2a1d760f34af7628782d7144b4cc8ded45c2d4bc/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:15c44f7edfd477b06f517a5cc317fc1707edb9de2c865f43d4b6513907473234", size = 235731, upload-time = "2026-09-30T04:36:04.987Z" }, + { url = "https://files.pythonhosted.org/packages/4d/34/38f3154785ce92e9f56eb226f4d35bdfae6b008480dd055f58837a89c810/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a89012d6d5476ee112d20d998570ed58df2260a852afb1758809cd6900411d21", size = 270352, upload-time = "2026-09-30T04:36:06.412Z" }, + { url = "https://files.pythonhosted.org/packages/04/f3/859f74e7babc977705026b30593b3be04049632a522fb7000f83c033d747/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0c951d5e6dd9c2ff60609476752bee49da4206adde960ebc247766937f72e718", size = 267393, upload-time = "2026-09-30T04:36:07.865Z" }, + { url = "https://files.pythonhosted.org/packages/4b/85/41d27f234b82e47c167a5f6c0f62501dc0c640585ff4aba79e08a390336a/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7218e8f32b0956cfcd048fd42d9d5779809745ca1d86113ca56f66e7ae1549c4", size = 254660, upload-time = "2026-09-30T04:36:09.248Z" }, + { url = "https://files.pythonhosted.org/packages/58/ca/5d1a997587febe5b26d8daffe363b5c1a091cece19828eec6502fd09c5ef/charset_normalizer-3.5.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a19a731138fc27d5682277d3b9df22855cea1239bce7fcec5f78f42ef2d1f3c3", size = 249996, upload-time = "2026-09-30T04:36:10.73Z" }, + { url = "https://files.pythonhosted.org/packages/b3/1f/d1e78246f7ed60c8c8d606b4ac27f66ce49cc3e95f24893ccbeba9f77302/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:62603db9a7caa0802eaa28c1c46fecd7b3a263a774069c24c3c28c302448721c", size = 247028, upload-time = "2026-09-30T04:36:12.294Z" }, + { url = "https://files.pythonhosted.org/packages/8e/37/eba316edd4f0c4d3a5d945924c4eeeae59abac4056aa815d8a4268f863a2/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:b6856554c4f44d79fc2307d5768854310a8f0096e501c75637542c82292b0429", size = 240562, upload-time = "2026-09-30T04:36:13.887Z" }, + { url = "https://files.pythonhosted.org/packages/c8/8e/aaa037d40ca9ef045977f1a661048b1aa33f223adfce3452fe9be9f79d14/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:1bc0baf5ef96b6ede57d47f4b8fe4d9d84019c3bfcbeb20a41edc6a6ee341f1f", size = 271699, upload-time = "2026-09-30T04:36:15.41Z" }, + { url = "https://files.pythonhosted.org/packages/26/19/1c1c9f75974adf523b87f34b8a2adc5a435cd65916812bcbd0dfa45f9a29/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:56bc200a365efb37383b7852e4cc5898d3b2da5987289b543956cf8cad71018a", size = 252030, upload-time = "2026-09-30T04:36:16.839Z" }, + { url = "https://files.pythonhosted.org/packages/bc/90/0660ef18e18df0a4d2a1a0edff7dfbba42d4e50ef2425557a5bb7051f77b/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:2c9ad19a6cfcd5ea5c0d41161d22f9df1dcc277e9bef2751391334546a314c00", size = 268565, upload-time = "2026-09-30T04:36:18.468Z" }, + { url = "https://files.pythonhosted.org/packages/79/ba/57adc269824e8658f1a0f97a9e514c247445a9632b3419b97e0ba37f16dc/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e243bd13217235fc7290c621941c3f5cc8b66e4872495be821d7436ba2fb838d", size = 257627, upload-time = "2026-09-30T04:36:19.938Z" }, + { url = "https://files.pythonhosted.org/packages/9a/85/33abd4315c052d3d4f54c92b1ee49bfbc0dc7115a981e462a793b6d2ab87/charset_normalizer-3.5.2-cp313-cp313-pyemscripten_2025_0_wasm32.whl", hash = "sha256:a090bb2c68df85450502e3e20d665e3a5af9c65a84d6508ed477badd49166fd3", size = 143407, upload-time = "2026-09-30T04:36:21.376Z" }, + { url = "https://files.pythonhosted.org/packages/4f/de/6435e18d1aaa5d910b896d551411c96af1f42a0c56c29afc2016c61ccc2e/charset_normalizer-3.5.2-cp313-cp313-win32.whl", hash = "sha256:2b7b3bbfb4fe8ef40600792d762fbaa9057559f9d3fad209525b7a22b99e91fd", size = 183207, upload-time = "2026-09-30T04:36:22.776Z" }, + { url = "https://files.pythonhosted.org/packages/9c/76/b8ec57f4e9ee3253541abf95e4a462c0175fe8032dcd070f1f2421240942/charset_normalizer-3.5.2-cp313-cp313-win_amd64.whl", hash = "sha256:78456a747de8dc58360ffa581f30a002baf5aa28cb262536545e91f113ed7639", size = 206489, upload-time = "2026-09-30T04:36:24.306Z" }, + { url = "https://files.pythonhosted.org/packages/3e/60/c647c6ae47480221e875ea5d743ff94946f7416e3c69415ab772928e8d32/charset_normalizer-3.5.2-cp313-cp313-win_arm64.whl", hash = "sha256:11912e4bb14baae7c5d8791aa55ba0a3a03ec6729073307b0f57270abaa713d3", size = 195501, upload-time = "2026-09-30T04:36:25.846Z" }, + { url = "https://files.pythonhosted.org/packages/58/ca/7aa91362a2f77ac8e9e28a9b902a74f7d0e11a851ef0d27a74308da8cd90/charset_normalizer-3.5.2-cp314-cp314-android_24_arm64_v8a.whl", hash = "sha256:1afb975bd5d68d5ce9f6b6d44fdf2f7e34b895a35e95708a7a91b20a3b51d187", size = 226010, upload-time = "2026-09-30T04:36:27.669Z" }, + { url = "https://files.pythonhosted.org/packages/a8/cf/ac8878d0322cf88a1aad4c7b147db32ca0bd806eb0060957b2e31486dbe6/charset_normalizer-3.5.2-cp314-cp314-android_24_x86_64.whl", hash = "sha256:bbbfc8e28816f19d7c0f1816664980c0a9875d01b27cdf8eedddb639d9e108ad", size = 239266, upload-time = "2026-09-30T04:36:29.434Z" }, + { url = "https://files.pythonhosted.org/packages/c9/6d/9a08d7e0b29b7208e2c6c01dc56c8e0520e7c7beadbbfb024b58fd69c8a5/charset_normalizer-3.5.2-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:7967d08cf06dee78443b874f98c98036f624f3a4e73e11f9f64f5be4d25393cf", size = 206783, upload-time = "2026-09-30T04:36:30.872Z" }, + { url = "https://files.pythonhosted.org/packages/82/44/b0aa350280e6ff5a5492d17cf10460dd39d5ee848f872f7ba2df10607f60/charset_normalizer-3.5.2-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:4c2b5031f63e331e3839b40aed2dd6f191e9c07edbde303e7876846ea1946995", size = 210449, upload-time = "2026-09-30T04:36:32.625Z" }, + { url = "https://files.pythonhosted.org/packages/7c/8a/40db9aa9f5907bb0e6f8b6d64064bf8852fb33d4b813ff9414911df7647c/charset_normalizer-3.5.2-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:fcff63213e8e6e47770541a4607175404f47cbb3ebea7b6058cc82d524a0e424", size = 367815, upload-time = "2026-09-30T04:36:34.197Z" }, + { url = "https://files.pythonhosted.org/packages/7f/72/9c5e7707b57c8ddfa9ddf7b0b1d009d7fbab9e9e887d5b721060f37e307d/charset_normalizer-3.5.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8d86d6fc60743dc916eb79e2eb1ec4818e21e427731543af40a3021851174a13", size = 247095, upload-time = "2026-09-30T04:36:35.803Z" }, + { url = "https://files.pythonhosted.org/packages/83/09/71e453691e927de4ddf792770cfaab3f49d494e222f66ea5e404bbd5e39c/charset_normalizer-3.5.2-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7a881931aa470808df94a8c380eed2bbbc76cd9dc622310f99665658c821eb6d", size = 233942, upload-time = "2026-09-30T04:36:37.407Z" }, + { url = "https://files.pythonhosted.org/packages/9f/86/85c84e4da8b27dd409577d9437926ff581c5f9d3c66038dc68c1a526de51/charset_normalizer-3.5.2-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8024d00c3faf3fc0c16e07a69f4405e8eac7cc0ab15f65fe6cf43827c4cf72b4", size = 273762, upload-time = "2026-09-30T04:36:38.904Z" }, + { url = "https://files.pythonhosted.org/packages/92/08/564955a4b5f2ccb410ab480bbe8c6a18063ff27f2d35458731c4a5335df9/charset_normalizer-3.5.2-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4d48f2d08b9de5864e2c8744d4461b862fb149a18274abc8b698c45975573438", size = 269514, upload-time = "2026-09-30T04:36:40.469Z" }, + { url = "https://files.pythonhosted.org/packages/18/24/bad3ac4271589df29cf5ce2f5ae490518a5739358052bd0d61209e6fea54/charset_normalizer-3.5.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:34276fd796040bf0993ab33a369aa572e6979c7aab225a88893667ad8eac8f7a", size = 255056, upload-time = "2026-09-30T04:36:42.02Z" }, + { url = "https://files.pythonhosted.org/packages/d6/3e/350d89ad49916b86554d6f5f2d03ec1152148f87e5ff735106c6a03b1a36/charset_normalizer-3.5.2-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0521c5665880b33d603717defa76c094048900010897909952397feb3039da56", size = 251311, upload-time = "2026-09-30T04:36:43.577Z" }, + { url = "https://files.pythonhosted.org/packages/56/5b/4970a2d154df502e133402906dd04e3ae7cada7b3011283c88d0479a2585/charset_normalizer-3.5.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:eff0ac9dbe711a4aee69bf04a83896aa9b85f19641264053a9f6d48573abb7dd", size = 250190, upload-time = "2026-09-30T04:36:45.185Z" }, + { url = "https://files.pythonhosted.org/packages/88/8c/f1a91bddc8fb47c2889e29ea7ea49a194eb0d9868675d786806519c00d76/charset_normalizer-3.5.2-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:1503bccbeb36d5527790c3930327704c39af22de3112f1b1666a9f3ce15ee204", size = 237098, upload-time = "2026-09-30T04:36:46.689Z" }, + { url = "https://files.pythonhosted.org/packages/24/0e/bb5dace3cc7e79068425386a6589c19b5a2ab5fefc2a46abea6919683332/charset_normalizer-3.5.2-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:52aa6992700996af31f375de0c6bacd402b0097fe40b53c426b9f51a90ebabc7", size = 274228, upload-time = "2026-09-30T04:36:48.31Z" }, + { url = "https://files.pythonhosted.org/packages/9d/79/b849ad523017ea9f5a45581bbebed91439e0cf42fd2860a6f64e358eb5a6/charset_normalizer-3.5.2-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:e09a3942ecbdee5cce73ea9d42da82b81b72ac1bf031ce069b93b5adf4eac8cd", size = 252401, upload-time = "2026-09-30T04:36:50.091Z" }, + { url = "https://files.pythonhosted.org/packages/89/8c/75469d690cf47200bce8f6cad7655724fc23148e147abfc5ce78b5f65863/charset_normalizer-3.5.2-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:c7c9ab723cde841fefb34efbad91e87f00a674b1fe1cd0784fde742bf2c154dc", size = 271846, upload-time = "2026-09-30T04:36:51.719Z" }, + { url = "https://files.pythonhosted.org/packages/26/cd/6d52d3c7437cdcf2e310ce9f28f282e733d4ef60ed19105d1819c356255f/charset_normalizer-3.5.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ddc7dacc8ece3a182e7f15cb862d1fd616b46d076cb1ae9dd232b2c38b655874", size = 258151, upload-time = "2026-09-30T04:36:53.234Z" }, + { url = "https://files.pythonhosted.org/packages/f7/4c/070b38bdb5f49a70199fce923ec0726a49536a63ab262abbfcaaf351110b/charset_normalizer-3.5.2-cp314-cp314-pyemscripten_2026_0_wasm32.whl", hash = "sha256:ee43c17b173d46a3212baa6ead3ae258eeabdae48c263a01ccf0218c366dd655", size = 143570, upload-time = "2026-09-30T04:36:54.816Z" }, + { url = "https://files.pythonhosted.org/packages/81/84/9ebfc8ed6c8c4fcd8e726ff6bf220cc8deb3966e31dce9be8dd8aa017e64/charset_normalizer-3.5.2-cp314-cp314-win32.whl", hash = "sha256:4f87960d57feabfb618e4e0af6e7371645fa26a277860739d6e5d6e0012c92f0", size = 186412, upload-time = "2026-09-30T04:36:56.643Z" }, + { url = "https://files.pythonhosted.org/packages/d1/78/5ed86f743d4bc350db307e7636419a0a5ee1d91806d30c7f667bd5c80dae/charset_normalizer-3.5.2-cp314-cp314-win_amd64.whl", hash = "sha256:e4e81e09c1578b8df602e3db08b0b3ea0a6947ad612f52bf8dc5ea8d47691f0c", size = 210965, upload-time = "2026-09-30T04:36:58.205Z" }, + { url = "https://files.pythonhosted.org/packages/53/94/a3a7698e9b1a395e1eb99ccd9a324be9347973bff4e72db2a06496d7cd27/charset_normalizer-3.5.2-cp314-cp314-win_arm64.whl", hash = "sha256:80d02b6f04e92601a081dd97b23d3128033098bff5d35d392ddcc0476ea11253", size = 200406, upload-time = "2026-09-30T04:36:59.764Z" }, + { url = "https://files.pythonhosted.org/packages/c1/48/c5dd00d5ef7791f02666de250a5bb6071e29b7e133cf4b835800b6d3bc27/charset_normalizer-3.5.2-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:dca9ab98072a5a54ebacebdc45f53e645336b320c667410b061be1ca588ae709", size = 396871, upload-time = "2026-09-30T04:37:01.543Z" }, + { url = "https://files.pythonhosted.org/packages/12/c8/8379554b42e8368161d898476686947a0fdbd3e8865170d7909dcabfdee8/charset_normalizer-3.5.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f0aa869112ef88429ae17820d99c3dd9504c9e9c671d3c246f3d7442cb051084", size = 249711, upload-time = "2026-09-30T04:37:03.111Z" }, + { url = "https://files.pythonhosted.org/packages/4a/eb/2ddb1035d17320caa9f41682935123a9a250277b261c3efc86b2d2a21343/charset_normalizer-3.5.2-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c0afc6800ba57ccc350374c5bd6150419915d95ce93cdbab2d783d75eaf30ecb", size = 231146, upload-time = "2026-09-30T04:37:04.721Z" }, + { url = "https://files.pythonhosted.org/packages/4a/24/2ecb4bde104322cd7859d6594fcfa74649f8d90b3221c9feecbef149875b/charset_normalizer-3.5.2-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7dcd882da75ef9adf94903b1e3b9419e8aa8fb4c7396822b834b9ef7fb96954f", size = 271552, upload-time = "2026-09-30T04:37:06.295Z" }, + { url = "https://files.pythonhosted.org/packages/3f/98/9d5f6ebc3aee9fef5d30b4aff11fb2ab7a1222b4064f8ef2c7c87cde217a/charset_normalizer-3.5.2-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2e06a3a98f916dd41d27f3105e02e7a40181c98c94b9158733d03a6f80506c09", size = 269810, upload-time = "2026-09-30T04:37:07.905Z" }, + { url = "https://files.pythonhosted.org/packages/09/e1/a3b06a10461b1b7628853c934c644e03bc28e42767116afb52f19a56519b/charset_normalizer-3.5.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6bd128f206a7752ae1f2ab6c61bf8a24ba28913a10df8b14c2637b973ff97a80", size = 259845, upload-time = "2026-09-30T04:37:09.554Z" }, + { url = "https://files.pythonhosted.org/packages/fd/d3/6f561f74a296cf27d61775a1dc665ad13f3bff6a798810ca05907f37a7c4/charset_normalizer-3.5.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c8f3d67aeaf55f017982b73683f0e7342ba2f6635a78f69ce89ebb26aa411e5c", size = 252825, upload-time = "2026-09-30T04:37:11.274Z" }, + { url = "https://files.pythonhosted.org/packages/26/9f/69e13ca3b18f43e0eafcd34c04a45b732ae22a43b54a5fc9e119103356eb/charset_normalizer-3.5.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:fe9753dfee015c570d73df76f899f18444d41388bffcde097deba51c4fadbb9f", size = 252659, upload-time = "2026-09-30T04:37:12.941Z" }, + { url = "https://files.pythonhosted.org/packages/73/a9/ace29806a0dae18939919c76ba526472d83214afa101105fabff2cf30625/charset_normalizer-3.5.2-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:92888bb3187c5ba50500b00b3b310c9f2c651709d28036077680cb5255450a03", size = 238819, upload-time = "2026-09-30T04:37:14.659Z" }, + { url = "https://files.pythonhosted.org/packages/f8/c1/6116d52a2e3311ec80f21f5fb5e17b27405f10b9608af8f6e69516841a1b/charset_normalizer-3.5.2-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:d008d90a7f2471519aef0c90dfbe73b3e6e4d5e66ac48e19154c17e89e98b604", size = 272973, upload-time = "2026-09-30T04:37:16.346Z" }, + { url = "https://files.pythonhosted.org/packages/19/aa/9955c7e93bba10a9c7e8f7a5031b7ced66f3a1883a55c00712b8d5850ff3/charset_normalizer-3.5.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:31f3930700408d211f13378ccbe1c40845d8da54bd0681fac3a9b5aae81c7aa8", size = 253692, upload-time = "2026-09-30T04:37:18.212Z" }, + { url = "https://files.pythonhosted.org/packages/bb/33/2a6ae7fdc1b10cb581cef91addd8cdfc5f40d50abb5702309369d5834579/charset_normalizer-3.5.2-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:2a925889534b3748302dae5dead07cc13480de1dac3aea80a941b729b471ef93", size = 268757, upload-time = "2026-09-30T04:37:19.877Z" }, + { url = "https://files.pythonhosted.org/packages/a2/22/80992720a0282cd39bba1db35868e6b9c22f41281160143a836544bc1d8a/charset_normalizer-3.5.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f5ec61164adcec446f8969a3358ec3f9b26bbda3b9213e5586d219afa8df2915", size = 262220, upload-time = "2026-09-30T04:37:21.583Z" }, + { url = "https://files.pythonhosted.org/packages/92/9f/181fd07e1bffea1d95cd80c84ac537354f50699c22cfc4d3c02b6fc16208/charset_normalizer-3.5.2-cp314-cp314t-win32.whl", hash = "sha256:598a11a2c7ebaa5334bf698bf29568c9c390abac6a154d8170fedecd1cea38c5", size = 197797, upload-time = "2026-09-30T04:37:23.235Z" }, + { url = "https://files.pythonhosted.org/packages/49/1c/25d8415ec1c4f2f41f1680435e4c87cfb378ff2f677d950946f2a45d0632/charset_normalizer-3.5.2-cp314-cp314t-win_amd64.whl", hash = "sha256:7fdde2c9fd9e3eca40631e024664cf2584272cc8f96308cbe5fdfc930f51d8bc", size = 222765, upload-time = "2026-09-30T04:37:24.891Z" }, + { url = "https://files.pythonhosted.org/packages/3e/b4/46b48f013dadfc0d0d33b375438e31bdf5a989dc68389c6bf627054d4df9/charset_normalizer-3.5.2-cp314-cp314t-win_arm64.whl", hash = "sha256:d1befeed746d247c81127bb14de9dc3d30edb6e5976d34f83f86ed262b1d9105", size = 210985, upload-time = "2026-09-30T04:37:26.634Z" }, + { url = "https://files.pythonhosted.org/packages/ca/e9/34e597dee616d0b8ee4b34d29399e85c2204ade174157a48505d42baa4ff/charset_normalizer-3.5.2-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:87475fabc8d9996fd9c27debb395e642e8c838d78a00b6e932227a0e06b81e26", size = 367676, upload-time = "2026-09-30T04:37:28.329Z" }, + { url = "https://files.pythonhosted.org/packages/60/9f/a5d1c91c0263745e2cd344c5a4415d787c575501ab1d449f1148ac6b495d/charset_normalizer-3.5.2-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9409a8bf35cf78353942504b24a57de3d75b708997a1e4bd8db71ac8633ce364", size = 248414, upload-time = "2026-09-30T04:37:30.167Z" }, + { url = "https://files.pythonhosted.org/packages/26/79/e697f77464748a3ee3cf490c83d592459400d4898380d66c38366b03080c/charset_normalizer-3.5.2-cp315-cp315-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:498dc3188ca05a68231ac3fdbfc7f57eb67e1343c30e0fea17f8218c1599b253", size = 244775, upload-time = "2026-09-30T04:37:31.964Z" }, + { url = "https://files.pythonhosted.org/packages/ca/87/3d42a42e18ea066e2513936fd678a00696e77878b5ae04528976abdbcb83/charset_normalizer-3.5.2-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e242bb1c5e76e97dfa9e7f209a71e93a01d7f19ffdd5cfbb2e2d55b4f08f8ab0", size = 273877, upload-time = "2026-09-30T04:37:33.661Z" }, + { url = "https://files.pythonhosted.org/packages/c3/76/8a28136f3938ba9836f84280ce0c4d61ed1cf15a036b2034900c62634162/charset_normalizer-3.5.2-cp315-cp315-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:def79fa35ef0cef8d2accec024f4fdc7ead3012ff02f5215c783f39f03ef8cfc", size = 269455, upload-time = "2026-09-30T04:37:35.573Z" }, + { url = "https://files.pythonhosted.org/packages/a0/a1/4fbf5d0f0f1b2a080474c1cf9a2f12c4c6531bb0e8ba591055e846d2b4e9/charset_normalizer-3.5.2-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3df041de8887954562c9b261cba85ca0e9ded74048daf125f45edcfaa4832229", size = 257336, upload-time = "2026-09-30T04:37:37.397Z" }, + { url = "https://files.pythonhosted.org/packages/ba/a2/8b50aa320adb880ad579518e6f718f24944804b42a88b83d267d5d444125/charset_normalizer-3.5.2-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:04851f73ae72b8413dddadb16a49dfee95263553741fd42d546f7d66907e6be5", size = 257584, upload-time = "2026-09-30T04:37:39.522Z" }, + { url = "https://files.pythonhosted.org/packages/a5/57/50e3fed84e175f40349bd0da7a4fce94c87f0378f52d74f511d89e0bdc20/charset_normalizer-3.5.2-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:183b88127acdb4fabe59d951ab424faf1af7b63cdbb5f776186c1ea2ffcaed98", size = 251854, upload-time = "2026-09-30T04:37:41.23Z" }, + { url = "https://files.pythonhosted.org/packages/d6/54/f7fbb3493c9f49091213b9c2d6dd65800696f1ce1a3f196a4205f50417b1/charset_normalizer-3.5.2-cp315-cp315-musllinux_1_2_armv7l.whl", hash = "sha256:16fa0eccf81304b79c5cd87f9271c3b85dd9dd99245e4422ae9c0dd45e0f99d3", size = 248767, upload-time = "2026-09-30T04:37:42.883Z" }, + { url = "https://files.pythonhosted.org/packages/d9/37/b3a6385acc5a1e45b39ae9c90bfb9cf838a09b9dd37ef2740ab4c6b4a2eb/charset_normalizer-3.5.2-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:7441d755b7ab94f8d4eb3e43ec05482d760842fd263d003a99102d742cd835e2", size = 274479, upload-time = "2026-09-30T04:37:44.658Z" }, + { url = "https://files.pythonhosted.org/packages/89/44/809913e2cfd279e635a9294fdbbfb1b1dc62a8189d473d561f649fce98d8/charset_normalizer-3.5.2-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:ca403d7e4798f525fdfc78e258820419cbbd0f0ecbab9de7840e3c017cf6b8cf", size = 258310, upload-time = "2026-09-30T04:37:46.529Z" }, + { url = "https://files.pythonhosted.org/packages/af/a2/f28400ab13359d91bd39179df8e149376b9bf36588e739a3a4f9de2b84b2/charset_normalizer-3.5.2-cp315-cp315-musllinux_1_2_s390x.whl", hash = "sha256:df29a0a7107f7011e77f4eebdddec4c7331e24d787a0b21a46d63bdf7445da95", size = 271100, upload-time = "2026-09-30T04:37:48.399Z" }, + { url = "https://files.pythonhosted.org/packages/e9/89/9bab37955edf0adb3b66f8a3a6617d9f2f487e0d56f295a6a286cb640aa6/charset_normalizer-3.5.2-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:f3c96f633825733f735c5a9cf21d21a257d8e1edf0b1cee0a064b9c424ca0f7d", size = 259936, upload-time = "2026-09-30T04:37:50.023Z" }, + { url = "https://files.pythonhosted.org/packages/23/b5/4459e08d45a679f903d50fea08bc52cfa728cca4d7bd02c757b5e5abda2e/charset_normalizer-3.5.2-cp315-cp315-win32.whl", hash = "sha256:281cb91036248400f4cc957495cccd44c275c2e0c5854f7e45ac5cf7dc193847", size = 186301, upload-time = "2026-09-30T04:37:51.722Z" }, + { url = "https://files.pythonhosted.org/packages/98/e8/55d5fd3935b4bce6da4fe0df61898e8c82653e317e677bd58aceb9c60f13/charset_normalizer-3.5.2-cp315-cp315-win_amd64.whl", hash = "sha256:89b53f3cda69831909888e0494f4fa0bcd3537e3e138dabeb620bd6ad946bae8", size = 210858, upload-time = "2026-09-30T04:37:53.427Z" }, + { url = "https://files.pythonhosted.org/packages/a9/5b/974423c2fd8e524c7a7f64318c1e02240ef954912fa2b4d70344107b9c68/charset_normalizer-3.5.2-cp315-cp315-win_arm64.whl", hash = "sha256:6be488a102b8cf28d0391d8c4ba7748938ae28b78ad901f8585520fca33ead1a", size = 200309, upload-time = "2026-09-30T04:37:55.015Z" }, + { url = "https://files.pythonhosted.org/packages/ee/f9/00ee0195db1013d8f7c416fd770fbeb560bb46eb2e36b054d05cb56f6cfa/charset_normalizer-3.5.2-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:915563965d418f986e7e145accc592eae9e1a1be3566ff98a05d7a9ec42a76e1", size = 395343, upload-time = "2026-09-30T04:37:56.743Z" }, + { url = "https://files.pythonhosted.org/packages/04/3a/c00b50e94c964cf934c7899cd47c97952fc11dad71cc5884b3c61795b09b/charset_normalizer-3.5.2-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:65cd72beeeca9d3aaea1201e5923859f308f952f9c71de93f06063c79f0f7a3b", size = 250114, upload-time = "2026-09-30T04:37:58.607Z" }, + { url = "https://files.pythonhosted.org/packages/50/27/d102dc880bbcffd0479ab64dfc1fb96777a854355a55e2bda72a71efadcb/charset_normalizer-3.5.2-cp315-cp315t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b7fd005a73d9e657273b7a10dc71a9e03c8fb9ee6999798d6918ce095b81ac7f", size = 239997, upload-time = "2026-09-30T04:38:00.511Z" }, + { url = "https://files.pythonhosted.org/packages/a5/4a/bf7ef45794dd293fab5f98a9309817977fbb845b9998f171b8cc5d8437a3/charset_normalizer-3.5.2-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e54da4baf05720032d527874d40b65fa4d7e5c6c6a43d0c3adbeffcaf275a2b3", size = 272313, upload-time = "2026-09-30T04:38:02.509Z" }, + { url = "https://files.pythonhosted.org/packages/e8/ee/008a2837737991474c5754bb3191010007663860979701990982a502cbaf/charset_normalizer-3.5.2-cp315-cp315t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:124fbf1a8ff966d87ae05bb8bd45a71f966055ed8bba320d0c7cf450bc5f4d0e", size = 269986, upload-time = "2026-09-30T04:38:04.435Z" }, + { url = "https://files.pythonhosted.org/packages/93/ad/bd74a283940dc910c5b14f8e4f80a248082bc9c0fcbe1f54530cb6d9cc5e/charset_normalizer-3.5.2-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:28b4f0d66fb834ff90f28209ac7bce77868c45d8c93e26f906709d9b7c2e1af9", size = 260202, upload-time = "2026-09-30T04:38:06.549Z" }, + { url = "https://files.pythonhosted.org/packages/8a/7b/ed341c66f69f688723501fac752be3d63c7159ca0d0d4174fc611e5710bb/charset_normalizer-3.5.2-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:58ca3755ee7ff7f59b57789ec9833c9de9ea275405cdd240eda1f193112e398a", size = 259083, upload-time = "2026-09-30T04:38:08.311Z" }, + { url = "https://files.pythonhosted.org/packages/cc/9d/e41588b777965e5031a43128a1e96173ebb35ac75fc53ec3b517e7c21cd4/charset_normalizer-3.5.2-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:443eae2bf318abeaf6f15d785138f71fd6de770e99a92158b8b814265e079115", size = 253081, upload-time = "2026-09-30T04:38:10.402Z" }, + { url = "https://files.pythonhosted.org/packages/81/35/b761eb6d8c1eb218b9b42b9b4d5ac902afdc399fb6dac6f9a9aac7bda589/charset_normalizer-3.5.2-cp315-cp315t-musllinux_1_2_armv7l.whl", hash = "sha256:58f361dcbab699cf8f42db3f47c8e7fd1036f138c23a5d08de9fde5f425a730c", size = 248712, upload-time = "2026-09-30T04:38:12.317Z" }, + { url = "https://files.pythonhosted.org/packages/4d/2c/147169a041b747759f37405c0a97157e8e92de967968373101ff14915cba/charset_normalizer-3.5.2-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:1b4cbc7c3491ccb4aa17fcd8165649d01cf39f76de1696da8631b5f71b85401d", size = 274176, upload-time = "2026-09-30T04:38:14.138Z" }, + { url = "https://files.pythonhosted.org/packages/f0/2d/0ff8db0d373ba8538db686db11cd7e8912031490b9e4f383b41912e8d594/charset_normalizer-3.5.2-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:ba0b1d2620edf869789c3879223f52bf2afc5d31b3cb47cc57b3a12c05e2aa9d", size = 259413, upload-time = "2026-09-30T04:38:15.841Z" }, + { url = "https://files.pythonhosted.org/packages/8a/8e/b4a085fb47c9d3a7e43576a4784fdd8fe23f907514a972de8086edaf7a48/charset_normalizer-3.5.2-cp315-cp315t-musllinux_1_2_s390x.whl", hash = "sha256:5e2b6b57e9733d39f0c9fd3185efa6b8e29652c4cd8fe94180272cf6ed9a78c4", size = 269434, upload-time = "2026-09-30T04:38:17.626Z" }, + { url = "https://files.pythonhosted.org/packages/83/1c/d8d8d7322a7c3eecdf3237a4a419cf41d2eaad8e006ce7dfdd9d4c8fa2eb/charset_normalizer-3.5.2-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:51cf45226a9b588d0d2b4880c62d686934b63ab0bd79ca23ab0e9762eb27441b", size = 262716, upload-time = "2026-09-30T04:38:19.214Z" }, + { url = "https://files.pythonhosted.org/packages/a0/16/0e4c6ba9b44e97a2da150e52d331e8f9c968b21b358fbffa6c856cebcd89/charset_normalizer-3.5.2-cp315-cp315t-win32.whl", hash = "sha256:5fb29fb8cd1a46c27a1bf9613ad5ec2599310d46b4025d9556404a6b6a292800", size = 197159, upload-time = "2026-09-30T04:38:21.037Z" }, + { url = "https://files.pythonhosted.org/packages/be/33/e90bc2b1374f7f36ef106f56620de5a783907e19ca857efe2277e31cac3e/charset_normalizer-3.5.2-cp315-cp315t-win_amd64.whl", hash = "sha256:a192e2c40070d92c3ccf777e3a5c4ff515573cd2bb7ed0c537fdadbbec5bbf21", size = 221322, upload-time = "2026-09-30T04:38:22.886Z" }, + { url = "https://files.pythonhosted.org/packages/66/89/dfa6dcb08c200b7830ab56439e8c1890f2971d51aafbb3937894a2e7fcfc/charset_normalizer-3.5.2-cp315-cp315t-win_arm64.whl", hash = "sha256:749e97e1b32313717a565abbe321bc2190bc8b35f1a67e4cdbc7c56c8d8ffe58", size = 209192, upload-time = "2026-09-30T04:38:24.648Z" }, + { url = "https://files.pythonhosted.org/packages/8c/ab/176fbfd5b64939c55d652366aa5b9ef1d767af207a3aa6ebeb0d226c484d/charset_normalizer-3.5.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:4275811936e2f06feff5e598fb42a1b7ae852da8e39605211892b56b81a34efd", size = 331815, upload-time = "2026-09-30T04:38:26.216Z" }, + { url = "https://files.pythonhosted.org/packages/7e/84/371eac6b30bdbcbf2d632a1a01809103459216fcaae61b8b8d922c1bfb8a/charset_normalizer-3.5.2-cp37-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:1c50fe28bbc2ced33386f298650d91218076c05420e6cbd790b913adc41659e7", size = 253276, upload-time = "2026-09-30T04:38:28.032Z" }, + { url = "https://files.pythonhosted.org/packages/43/6f/c4fbae58febff71709c51bc7e18fdfa55341dc382704740f9f0cbf03817b/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d19fbd981a488e22cd04883659ca6b08f50b5974f9fd7c95655ef6a043e5893f", size = 241239, upload-time = "2026-09-30T04:38:29.732Z" }, + { url = "https://files.pythonhosted.org/packages/61/71/458c3f42164a07d0c5210798e9e704b39e540a6793b05aba67f3a35243a9/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0fed1d06615f022ee3b13caf5e8b180cfea32bb2c5aded8a9d44277afc040f93", size = 231121, upload-time = "2026-09-30T04:38:31.462Z" }, + { url = "https://files.pythonhosted.org/packages/09/54/ab9e89367076f6331bb6c65c4bf14a5361fa5191cb6561bf534f18504e1b/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:838dcc90063569a0448120554591a1d6c4a4ffe11babf048908793154ab86ade", size = 260350, upload-time = "2026-09-30T04:38:33.239Z" }, + { url = "https://files.pythonhosted.org/packages/7c/c1/061431ecc688d9d76602502cb57cc01e691e682c18f1beb45f9673b5bbd2/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2ce45c6627b22c47e390bc91a41c3d13032192e699fa0bea96e9671b373d69b0", size = 255430, upload-time = "2026-09-30T04:38:34.865Z" }, + { url = "https://files.pythonhosted.org/packages/8d/1f/20c8949f0676f7ab811abdeb7f4d7f1cbc6e61ff20bef08b44edeb092bc8/charset_normalizer-3.5.2-cp37-abi3-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0774bf9bf620249fee3e0b8b9fd3065de213be30f3aa94ce2494b3b638949e26", size = 250612, upload-time = "2026-09-30T04:38:36.649Z" }, + { url = "https://files.pythonhosted.org/packages/2b/9e/46f2fa4c431fc98c4ae76a8cb5bdca54e0341e3cfc3fcfd8e82740250818/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:1db38f4c5496827c1a501846d64d14c3b80c7e6714e406cd7dc36a9899fa1011", size = 242083, upload-time = "2026-09-30T04:38:38.26Z" }, + { url = "https://files.pythonhosted.org/packages/bd/39/559be29a0c0f086e0bba6922babd38916cc5e0b58ced4de13ee01ea05508/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:304d8e4d493af723536393eee0c689eb7813f4a474c8b479dee63f1fdd98f621", size = 232738, upload-time = "2026-09-30T04:38:39.81Z" }, + { url = "https://files.pythonhosted.org/packages/ff/6c/387b0e4f756a282831c1d9fc6aeb6c51ca4507ca202767c8de15ce9b12e2/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_ppc64le.whl", hash = "sha256:9b7f416ff0978e2f2249330527f0ad6fa02f4932e6199692d3b52da2048c19e4", size = 260703, upload-time = "2026-09-30T04:38:41.346Z" }, + { url = "https://files.pythonhosted.org/packages/96/92/1fdf015f09ef449f50d3ac4b67c90887c9c318b727daa95cc4f866e6521d/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_riscv64.whl", hash = "sha256:01077390b03f7988f11d700a2194e69b119741a86b1a638b1db88891e3eced8e", size = 247622, upload-time = "2026-09-30T04:38:42.937Z" }, + { url = "https://files.pythonhosted.org/packages/dc/3c/8e7b8a5671ad5d433669fb2a76f1a0164df2d9b1718b0206bc2a16d840cc/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_s390x.whl", hash = "sha256:7e841fb9010836c992c9f12fcbd43a831de93a5f726fc1ccd8ca1d0268c5014c", size = 257500, upload-time = "2026-09-30T04:38:44.604Z" }, + { url = "https://files.pythonhosted.org/packages/b4/f0/45b579df5cabc1d5d53ea1cc35e8437d3ca768c0acccc7041517cb6fbb32/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:9cae88599c7219005d879f98e5ed53341e9a122af585e1091200358a3003d2a0", size = 255100, upload-time = "2026-09-30T04:38:46.289Z" }, + { url = "https://files.pythonhosted.org/packages/31/68/fdec18a343f5fb3f310588dd478b09ac4799e0b187dbade3a8cd776f03ef/charset_normalizer-3.5.2-cp37-abi3-win32.whl", hash = "sha256:01b0c0d2262a9e28e8484a278c7e1b5d650e3ac8cf2683d2967e25899f208bdf", size = 174499, upload-time = "2026-09-30T04:38:47.999Z" }, + { url = "https://files.pythonhosted.org/packages/9d/8a/b618149cc5207943a0242068d7a27897f56a62947b5a039085f2a22029f8/charset_normalizer-3.5.2-cp37-abi3-win_amd64.whl", hash = "sha256:9f56f72050826f63dcee7a7f55b0a77168cb3bfc553fd405e7f8f9ece75a4036", size = 200092, upload-time = "2026-09-30T04:38:49.707Z" }, + { url = "https://files.pythonhosted.org/packages/03/cf/4c66866fa9e2b1c78e3c911516d1de497a677b7ac60f1eceda74ce777ca3/charset_normalizer-3.5.2-cp37-abi3-win_arm64.whl", hash = "sha256:40ab6bffa02ae10a0581e6c198be7d2d8ca5c2a0c64e4ed3465d766df457573e", size = 294363, upload-time = "2026-09-30T04:38:51.312Z" }, + { url = "https://files.pythonhosted.org/packages/fc/ad/d07d7862a62ffa6d79d68074d14823243dd235a77c45262acbf6adeb28bf/charset_normalizer-3.5.2-py3-none-any.whl", hash = "sha256:b6b751274acb69d77b3323d6b7dbaa3c7fdfc1eb829b7eb61d262f32e1af9685", size = 68872, upload-time = "2026-09-30T04:39:21.828Z" }, +] + +[[package]] +name = "click" +version = "8.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c7/0e/7fa0ef50764b67090eca4114772a2abf8b6148198475e54c660b97caeee6/click-8.5.0.tar.gz", hash = "sha256:ba0d2089de75ea0310e2dde03160e6ca10009947fb95a182f9b54021bb272e34", size = 382235, upload-time = "2026-08-26T13:33:14.56Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/58/50/6c0d534c5f134586a8e1ba4e330569e32f057e33372ae556463212fb4cd3/click-8.5.0-py3-none-any.whl", hash = "sha256:255bc9599cf7748b4b1a446ccc735421bd08a2ae529a8b88597d3de5664ee360", size = 125251, upload-time = "2026-08-26T13:33:12.928Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "ghp-import" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "python-dateutil" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d9/29/d40217cbe2f6b1359e00c6c307bb3fc876ba74068cbab3dde77f03ca0dc4/ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343", size = 10943, upload-time = "2022-05-02T15:47:16.11Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619", size = 11034, upload-time = "2022-05-02T15:47:14.552Z" }, +] + +[[package]] +name = "idna" +version = "3.20" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f5/08/8eea9d4b8302028f3abb2c0813953f7aec26d33b7a8960ed760e65ff29fa/idna-3.20.tar.gz", hash = "sha256:a7db850025b95ded1eae8a46181a1a6c56c92c96f0e2b005d9ff8dc0210cab44", size = 216463, upload-time = "2026-09-17T14:11:04.752Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/58/a2/bb081bab032533a855d44de1d56f8e8426114ff1ba5d1f07a438a0a654f8/idna-3.20-py3-none-any.whl", hash = "sha256:ab7ae7122974553370f0bdb919e1a960b2cd1bc1ef0276416d896db81c14582c", size = 69583, upload-time = "2026-09-17T14:11:03.168Z" }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, +] + +[[package]] +name = "manual-python-brasil" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "mkdocs" }, + { name = "mkdocs-material" }, +] + +[package.metadata] +requires-dist = [ + { name = "mkdocs", specifier = ">=1.6.1" }, + { name = "mkdocs-material", specifier = ">=9.5" }, +] + +[[package]] +name = "markdown" +version = "3.11.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f4/32/0b4d0297064244f04af4331b65de16237cc3cce07474171ee14222a28981/markdown-3.11.2.tar.gz", hash = "sha256:87bf5d90f2d2882e2c02fcda182c2800456b985bff38913867c49706481514b0", size = 491445, upload-time = "2026-10-19T19:41:42.687Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/66/bcab3b677b71ad286b4e607e3427499537c76e13ad2e22584ba7a7d9882c/markdown-3.11.2-py3-none-any.whl", hash = "sha256:f80390747a2a0ff2ba54da074ce4f862f72a6685f608cd2637b646a6d83993f5", size = 114266, upload-time = "2026-10-19T19:41:41.244Z" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/38/9b/e422a865e1d5d57d0e509b4e0bf1c1a70a7f6382c29a5aa428df994c8bc8/markupsafe-3.0.4.tar.gz", hash = "sha256:2e9ad7dd851bf45fab9f75cbff4cb493fee9979e8d8c7c9c3ee119022518edd6", size = 153777, upload-time = "2026-10-02T23:07:22.29Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6d/18/4bc5ba32499e87bb2b0ef5b3a9bb9c00a131fa961ddf0be548cb550f548b/markupsafe-3.0.4-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:de8b364c423ef0a4bad9069657d617f9a5d2b2062457a89b1fa16ee199c399c1", size = 12786, upload-time = "2026-10-02T23:05:08.709Z" }, + { url = "https://files.pythonhosted.org/packages/4e/6f/17f0c099bf25f3e31e63cc19244d9f6af861a9a4ab778c203997903cfdd0/markupsafe-3.0.4-cp313-cp313-android_24_x86_64.whl", hash = "sha256:34bdde374c5932765d7dc685c4a1d191a3207852d67e8e0a9eb6ea85156181f1", size = 12510, upload-time = "2026-10-02T23:05:09.93Z" }, + { url = "https://files.pythonhosted.org/packages/11/af/1a141081b905036ee904ec4bd945e1f70b4e1b32d33c4e59e8cf1d58b247/markupsafe-3.0.4-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:6bd9e1788e15bfcf6a9082de42e30387e7b85d211ab21e57a939bb8cfaaf8d96", size = 11583, upload-time = "2026-10-02T23:05:10.884Z" }, + { url = "https://files.pythonhosted.org/packages/e7/0a/a89385ae590232622a03e091805cff12f24fabe6c11e0e8bae096cece81c/markupsafe-3.0.4-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:5066b244f576f91afc8ee3ba029a89f99d39c79b1853fe9d39bea9f0afbec148", size = 11801, upload-time = "2026-10-02T23:05:11.913Z" }, + { url = "https://files.pythonhosted.org/packages/ed/85/ea548dc013962eb73653124bc595635fbf9e0fa41d1f181a967ccb784dfb/markupsafe-3.0.4-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:7a83aa6e4805df46fed18e989d3d16f86ef60cb50bbc8d9ce3a6be89165fbf6e", size = 11443, upload-time = "2026-10-02T23:05:12.887Z" }, + { url = "https://files.pythonhosted.org/packages/cc/72/15f2e5ec9cf2eb00d5cdfe968d94e4156a7bd7303832c3f3b2c403a36839/markupsafe-3.0.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2d1b7d9308288661f56672b1b157d75fc536714d3638487bbea17b6318a78248", size = 11665, upload-time = "2026-10-02T23:05:13.829Z" }, + { url = "https://files.pythonhosted.org/packages/ca/e0/4030bea613677e333c8a2c901fd405055f657f9d06acba5b7357984b6ef7/markupsafe-3.0.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:73e77980c7207854f00fc4e71fb1626868d5740ab4012623d55c7a99ad122a72", size = 12061, upload-time = "2026-10-02T23:05:14.807Z" }, + { url = "https://files.pythonhosted.org/packages/f3/a5/28b76a7449eb702966b88bef599e2360b411fbb3afeee8fe560939be06ec/markupsafe-3.0.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7018d4af1cd272e847aa5917983ab5e83e4f6579f9dbfecd4a79c0ca80b144c2", size = 24395, upload-time = "2026-10-02T23:05:15.909Z" }, + { url = "https://files.pythonhosted.org/packages/07/6c/21232811afc3a063b5e934b1ae2efda52f46154ec382f585149c020e61fe/markupsafe-3.0.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c90d5b3d4e944e065a301d741b3c1d784f6bd1f503aa68b4967e32b2ba313d85", size = 27183, upload-time = "2026-10-02T23:05:16.976Z" }, + { url = "https://files.pythonhosted.org/packages/14/38/6ccdfa5b59049cb36fb80cbc80aee9cf1fc9bb77d1335ad435f2070b08cf/markupsafe-3.0.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:18a801868a884f216e784d7d14db2a4077143ce7610440aee2ce8f734e7cfcde", size = 24772, upload-time = "2026-10-02T23:05:18.209Z" }, + { url = "https://files.pythonhosted.org/packages/63/e0/cec6865dfe88cb48fedd4b20aed6af5158e41092adcbf3e028bcc6ec2108/markupsafe-3.0.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:434139499bb20b502ed3baa1f169e618f924a97e7a777fea1a49446d80106cf6", size = 23017, upload-time = "2026-10-02T23:05:19.286Z" }, + { url = "https://files.pythonhosted.org/packages/ee/76/6ed4940bb7648a9aac457c14f870cfdd5105f139a0fb1f29cd61fafa47d1/markupsafe-3.0.4-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:9e227f3dbe6bde7491cf0a9965d00b88c6b1a4a95d11480ddf88bb96d397c19f", size = 22036, upload-time = "2026-10-02T23:05:20.352Z" }, + { url = "https://files.pythonhosted.org/packages/a1/4f/ed476226d4fe46a09090a36025bf319296810028df55eb12f1253b540f3a/markupsafe-3.0.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b8cd1f918b26fd7b1832ece557cc18f2d8747309ff8b3f0ef9d4250c5ad67a39", size = 23786, upload-time = "2026-10-02T23:05:21.576Z" }, + { url = "https://files.pythonhosted.org/packages/9a/35/66ff30450e35ef5fba9ebc930c9411747e537fd9447b65e44f5007e2b84d/markupsafe-3.0.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:a5fcffb37e602b0b3c1638a97746b9b96125caa9bcf6fa41d337a9261de231ee", size = 22672, upload-time = "2026-10-02T23:05:22.922Z" }, + { url = "https://files.pythonhosted.org/packages/32/0b/72f45ce4b4efcbca4b80cf1b06703eff0be8d37e82abb78f66c85a7ead1e/markupsafe-3.0.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5989cb26b2e1efc6a42216a9f6b5ee495ce5ace2e5b352a9af489976b32d1ee2", size = 24107, upload-time = "2026-10-02T23:05:24.175Z" }, + { url = "https://files.pythonhosted.org/packages/d2/03/71776e5fdcba04614b384cc102e8a4198208579d896fd1394cb7cb9aa900/markupsafe-3.0.4-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:add96447a86d205ab616665d53b2950ee81083757f56e6ea833c8b2917646b46", size = 21615, upload-time = "2026-10-02T23:05:25.215Z" }, + { url = "https://files.pythonhosted.org/packages/ab/5f/801ce02a02e7aee0f784b1ec7843026178f6adeb9c93ac67eb1992a9a84d/markupsafe-3.0.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2628d3a8cb648ecebb3c5d6b0a1052d400e4d8b7ac0fb786be8d285b50040d17", size = 23076, upload-time = "2026-10-02T23:05:26.423Z" }, + { url = "https://files.pythonhosted.org/packages/4a/85/c43776625428f3bb4a61e8633940400e3efe6409e3c6f5bff26de5e45618/markupsafe-3.0.4-cp313-cp313-win32.whl", hash = "sha256:672d207103e6b16ca098611b0f9efad6bc00afd47c03d6ef62186495ca677dc0", size = 14118, upload-time = "2026-10-02T23:05:27.716Z" }, + { url = "https://files.pythonhosted.org/packages/6f/36/163da64de88a13db79214ef75fa041be7fa13bdb42261cf5b7484de14bfb/markupsafe-3.0.4-cp313-cp313-win_amd64.whl", hash = "sha256:1f1f9477e174582b0a1b583d60b66e1f2cf5d3fe12cee985e4aedf44766600e5", size = 14313, upload-time = "2026-10-02T23:05:28.749Z" }, + { url = "https://files.pythonhosted.org/packages/9f/a8/9b662783ffaa1149221432a923cee562f78b9cbbb8baa3df9b3753e63e1e/markupsafe-3.0.4-cp313-cp313-win_arm64.whl", hash = "sha256:06de8ef6331f6e822c28d577dc8bf43fe398800477c49498f38fc38b67ff33fc", size = 14189, upload-time = "2026-10-02T23:05:29.917Z" }, + { url = "https://files.pythonhosted.org/packages/5c/c3/a944f3b0df22bd129e96915b9f4e98d2eeca6516687d7618304a966c3c74/markupsafe-3.0.4-cp314-cp314-android_24_arm64_v8a.whl", hash = "sha256:4ed644d75aa94a2baf7ec3a96eaa160ea58c742eb9d27c6506053c5c40fc84ed", size = 12787, upload-time = "2026-10-02T23:05:30.971Z" }, + { url = "https://files.pythonhosted.org/packages/d4/d6/a44863f69d88b6c7e27889108f70d47aed259edf89d5df3c5fca1eac87d6/markupsafe-3.0.4-cp314-cp314-android_24_x86_64.whl", hash = "sha256:6d2a9efe686f9de00d0d1ea32a4a5a86d558a2277501bd78d964214eab625e59", size = 12525, upload-time = "2026-10-02T23:05:32.263Z" }, + { url = "https://files.pythonhosted.org/packages/17/8f/168ba80e532dd6a93f96f8f706f1ad41d7990b6e1aeedc1cc0d211a33497/markupsafe-3.0.4-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:8781a792a070cf2bd1b86d3aa943894115faaba6e88122a7bf32d62072742453", size = 11589, upload-time = "2026-10-02T23:05:33.251Z" }, + { url = "https://files.pythonhosted.org/packages/32/b3/aa2c95a574d3af39403a469b295886eb9b6d448da568cbebb5a2cbfdc2e5/markupsafe-3.0.4-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:971a3bbb75d97ae4e2e8f7d4834236f86f85f0c85e04ab2e191db1123b04f80b", size = 11801, upload-time = "2026-10-02T23:05:34.315Z" }, + { url = "https://files.pythonhosted.org/packages/60/d0/34b810107d83840e768bf485de795893ebbae35b26ab061b487adfa0a692/markupsafe-3.0.4-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:8909c2f1c6dd65e054ac4b573a91c8384d1492281e55d82d159d653f7a13adf6", size = 11447, upload-time = "2026-10-02T23:05:35.302Z" }, + { url = "https://files.pythonhosted.org/packages/6c/ab/2f8488f0f817a39fca068d2b17daf446bf5cdb3eae28c3720af534d873b4/markupsafe-3.0.4-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:4cf3468d5ec187ffffcaca8e61929a37448f215dafc1386a12c750a72fe53634", size = 11722, upload-time = "2026-10-02T23:05:36.363Z" }, + { url = "https://files.pythonhosted.org/packages/ad/40/e2d117b048d47282ade906fbfd92814cbee5647afc13fda88a3406039372/markupsafe-3.0.4-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:52704c5d36eb6dda8866493decd61111fff86244c9b1ad225ca01b9e91e5970f", size = 12061, upload-time = "2026-10-02T23:05:37.397Z" }, + { url = "https://files.pythonhosted.org/packages/9a/a8/73a81135e85ba66217f5af7facb03bbb386807e1a729ab64532e4c802652/markupsafe-3.0.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1caa2fa5a6184fb233153b35f654e6687bd555476f6170f29d8ee9be1a8b0af9", size = 24434, upload-time = "2026-10-02T23:05:38.407Z" }, + { url = "https://files.pythonhosted.org/packages/ac/ca/fa9216dd01efee2dfdacafe7df32b4d0170fbac694b0c258a193d6e53999/markupsafe-3.0.4-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:387d8cd30e69b3f0a72877b9ae717033396404e19095b17fe89753a981fda44f", size = 27183, upload-time = "2026-10-02T23:05:39.581Z" }, + { url = "https://files.pythonhosted.org/packages/fa/4e/a469509e538d37af51103b17b073126973f2b1cbf197ff32c7ddf025cfe5/markupsafe-3.0.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:051417f74bcaaefa316276e0ff723f541616ca51043d070da00249d9bddd3e3c", size = 24813, upload-time = "2026-10-02T23:05:40.671Z" }, + { url = "https://files.pythonhosted.org/packages/8f/db/d7282caf7ab03af44d5d6fdbaa019b35c7d7f1c90588b839c07cba640d6a/markupsafe-3.0.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a8e9f292fcda89b324f2f5c91d13f1424a153e40fc2756f38ee23b15835ff300", size = 23049, upload-time = "2026-10-02T23:05:41.864Z" }, + { url = "https://files.pythonhosted.org/packages/30/f3/b6a425206e6964efda6acee544d0eb01d1501784d0b8e2dcc74986f33b17/markupsafe-3.0.4-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:df1ae86ff54725a01fa1a0510b914ca53a161b7050be74f6204e24aded5971d0", size = 22088, upload-time = "2026-10-02T23:05:43.014Z" }, + { url = "https://files.pythonhosted.org/packages/ea/8a/84d3582fc1f0d5bd466cdf2eebf175e172158a6e70701aacec1de1b35430/markupsafe-3.0.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:8965520ac587c94a4ac48b729be3d8b8de00af39699b17585dfb599babe77977", size = 23846, upload-time = "2026-10-02T23:05:44.098Z" }, + { url = "https://files.pythonhosted.org/packages/1c/65/db101cce51b7ba4864ac491a9859d297dd1adf0e55b103fee9db9c47c527/markupsafe-3.0.4-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:340cbb1957ba99929cbf19a75626d36ba1ae21d1730b287d1cf7f824a20c4fc7", size = 22674, upload-time = "2026-10-02T23:05:45.23Z" }, + { url = "https://files.pythonhosted.org/packages/e0/49/ddee9813d71db0c7a5c9d97c832125e6758a0c844777f1cf076569bb0e22/markupsafe-3.0.4-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:3a93d9616ddecfb393727a0041a562cf0b15a244e20f2bd25efc7949be4c4f17", size = 24104, upload-time = "2026-10-02T23:05:46.398Z" }, + { url = "https://files.pythonhosted.org/packages/aa/0e/7d8518d726726870a2399d69fd30d0fa36c5e57a2132c336b58d7c491073/markupsafe-3.0.4-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:d2e56fd3b00222722abfb3f5f0759ddbae4b90811b5ad4343c64030ad1bde70c", size = 21637, upload-time = "2026-10-02T23:05:47.48Z" }, + { url = "https://files.pythonhosted.org/packages/b4/b0/b505e8a361ba557dbf3b3aa7331ea39b00d2022a26e925ff8463b9714bb3/markupsafe-3.0.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:0d9c47709875fdb321452056622e930c52afbc07a7d780762fbb8b4d91ce6fa4", size = 23081, upload-time = "2026-10-02T23:05:48.611Z" }, + { url = "https://files.pythonhosted.org/packages/1c/ea/9cc3cea873f980c75cbdb6f4277ce30ee955de38be0b3d02f14c108e0698/markupsafe-3.0.4-cp314-cp314-win32.whl", hash = "sha256:38fc55594dab834470b6733dead2ee9e3f657fb0608c769dcafa0ba5ab52f45c", size = 14272, upload-time = "2026-10-02T23:05:49.707Z" }, + { url = "https://files.pythonhosted.org/packages/80/f0/5792ff768a410f93ee3f84fc19345295ffc352d2c936b424cb37e514714c/markupsafe-3.0.4-cp314-cp314-win_amd64.whl", hash = "sha256:c1bc67752d5f21013cfe430df4062441714eab79f65a6a05e01505957e9c35fe", size = 14501, upload-time = "2026-10-02T23:05:50.788Z" }, + { url = "https://files.pythonhosted.org/packages/5f/cf/3d074a8edffcc6899355232ff2543ae8d929733239596423b7db79698bc9/markupsafe-3.0.4-cp314-cp314-win_arm64.whl", hash = "sha256:7e1636da3d8dfc220b6dd10264db5f2b165e4888c4518594898fbe381049af8a", size = 14364, upload-time = "2026-10-02T23:05:51.857Z" }, + { url = "https://files.pythonhosted.org/packages/d9/31/87ce42159aae2163cf3bbbd0c44bc87780510eecab1ea3859099aed95dcb/markupsafe-3.0.4-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:805c8b84534fa10891890f0e4be39f3a99e94615d93e8836bf9fa1fdca2feeb2", size = 11759, upload-time = "2026-10-02T23:05:52.951Z" }, + { url = "https://files.pythonhosted.org/packages/5f/53/b047207eeb7752e960aca3eb1df5fb7eefa7dd4c62ac49bb156456c8a702/markupsafe-3.0.4-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:fa95848c929b6a75f6848d3c9793e59db365ee436776e57db835cdbfa79ba977", size = 12096, upload-time = "2026-10-02T23:05:54.066Z" }, + { url = "https://files.pythonhosted.org/packages/ee/51/4326c88a13c7b755657d44b4bb986f8c3d9843ecba7e22d98661d87f9a57/markupsafe-3.0.4-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e916035e3e9930cbdfdd10abf48861340221857f45509565898e012263f7b289", size = 25699, upload-time = "2026-10-02T23:05:55.15Z" }, + { url = "https://files.pythonhosted.org/packages/f2/bb/990581b7474bfcf2cf34bed6ba5ea23bd87adb9d671213d68e88620e7a6b/markupsafe-3.0.4-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b4d12837e0203bbace818ff4a7461afdcd78bcd782351cea148139180d7bcffe", size = 27804, upload-time = "2026-10-02T23:05:56.29Z" }, + { url = "https://files.pythonhosted.org/packages/6b/89/89491878c28e8291f5aa2fffe2c2d57230d10ae366d55dd810b840513d78/markupsafe-3.0.4-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5086f9975abb1ab531ee6afca1761e4b59a19b446f3f6522ed776963228cfe5a", size = 25912, upload-time = "2026-10-02T23:05:57.416Z" }, + { url = "https://files.pythonhosted.org/packages/30/77/680998b54efdea06fc114565cd739b6d059f826a0279219b218dfa750d29/markupsafe-3.0.4-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b4a635a0487774f841cb1fb62e907e7195cc95bc761e053184b8acc3ceb20733", size = 23623, upload-time = "2026-10-02T23:05:58.557Z" }, + { url = "https://files.pythonhosted.org/packages/ae/75/2709f5ac5de9467b40b10e2bb8f89cc63dfb74582e09aa734b1124a217de/markupsafe-3.0.4-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:cb96e6e088d6cf71c1ea977510948320234824cf226e32f6f6e044f7a9c82b34", size = 23301, upload-time = "2026-10-02T23:05:59.94Z" }, + { url = "https://files.pythonhosted.org/packages/a0/c8/39eadc6c5b14c9c7679bfb98f4d4c6a97863b5beb91839aca4d2d6e16e55/markupsafe-3.0.4-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8b5d563170ff8ba3181caa967c99a3c804d1dedb702c7cb93a6a7c32247da978", size = 24950, upload-time = "2026-10-02T23:06:01.289Z" }, + { url = "https://files.pythonhosted.org/packages/1a/5e/01037f8a43e8ccb0bffb4fbdc5212db05bf080fdd7286cd392332d58128a/markupsafe-3.0.4-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:396ec4e65cc889f69786b3b89478b471cee5a3bcf468b9d9bb03e1a30fb291fc", size = 23330, upload-time = "2026-10-02T23:06:02.441Z" }, + { url = "https://files.pythonhosted.org/packages/d4/f4/23e83ce0596bb0cbe670502d31df8f757bbd01a392aa486fa3b40d1ed399/markupsafe-3.0.4-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:15ba9e28640feef770374b116a6f019c21f52404aeabe516aa7f800587b98cfc", size = 25239, upload-time = "2026-10-02T23:06:03.579Z" }, + { url = "https://files.pythonhosted.org/packages/88/5b/3708897368073cc683d524750474f41a77d2986152c380dcc55b20fdf340/markupsafe-3.0.4-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:d920abdfa61279ba1a2ef9484aab07bf03331f8c08a10120fa332353d06e6932", size = 22767, upload-time = "2026-10-02T23:06:04.699Z" }, + { url = "https://files.pythonhosted.org/packages/c6/61/ebda1307864b409e6b3115757a3d4a09cca46cfb6cc65191b5de226b424b/markupsafe-3.0.4-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:a9f54054101545a9a9cccefddf54316aa6e4491611fcbef9e91b3b6bebec04f6", size = 23668, upload-time = "2026-10-02T23:06:05.9Z" }, + { url = "https://files.pythonhosted.org/packages/09/15/98075cceac3b5ba0dbb8e4762a847be967d2befc349a2cf2d0ac77f62c9d/markupsafe-3.0.4-cp314-cp314t-win32.whl", hash = "sha256:12a606a492de952afcb43b59a14aaaaad120e708d3663dd0fdf2d738d427a691", size = 14301, upload-time = "2026-10-02T23:06:07.109Z" }, + { url = "https://files.pythonhosted.org/packages/0b/a3/768b560fcc4156685cb563d922b217810cfa7bc135773367f62f1f9d2078/markupsafe-3.0.4-cp314-cp314t-win_amd64.whl", hash = "sha256:a18f38cafc329bac5e3c2b96c765b4c96d3d103421ed22ab7988c1e3fce27464", size = 14526, upload-time = "2026-10-02T23:06:08.276Z" }, + { url = "https://files.pythonhosted.org/packages/93/63/da554b4c97a6b0ea3229ca7fe8cbfb620be81613d517f482e85958550537/markupsafe-3.0.4-cp314-cp314t-win_arm64.whl", hash = "sha256:eba154571c16e032112afac0dc2dfe9e63c2ceb7aedd07bb7eecf2ce26d4dd4c", size = 14421, upload-time = "2026-10-02T23:06:09.402Z" }, + { url = "https://files.pythonhosted.org/packages/a9/30/54d11c8ca027114898cab97421fb39e4ffd9ddf47cdbc44df2ec76722da9/markupsafe-3.0.4-cp315-cp315-android_24_arm64_v8a.whl", hash = "sha256:737c9c3981998eba27f11786f84fddcbabc74068b72a4a1f454ea02094b57b65", size = 12791, upload-time = "2026-10-02T23:06:10.485Z" }, + { url = "https://files.pythonhosted.org/packages/10/6d/97c913e253a14bd3cd0e15a5c56d13203b823fa7ee32498342896a072dc4/markupsafe-3.0.4-cp315-cp315-android_24_x86_64.whl", hash = "sha256:489505b03f692c3f376394e49194fa7a7f9e8558d6e293a7056a0032b0c38163", size = 12527, upload-time = "2026-10-02T23:06:11.834Z" }, + { url = "https://files.pythonhosted.org/packages/26/f9/b86d032042a4d597d9e1997f0e5f63a3eedaf11258e0a05760b0a0a826ea/markupsafe-3.0.4-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:077293e425f28ec737dbcad442a71752e28f8ae27cde3d68acd1fb212091cd92", size = 11602, upload-time = "2026-10-02T23:06:13.122Z" }, + { url = "https://files.pythonhosted.org/packages/f2/dc/73c14c1eedf0ac5fa3292ba43435e6c49d2c2050f33cebde541f8f4807f1/markupsafe-3.0.4-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:9348cbb300d224fe3b89793262cb093504d4ae927004468463f745188a193e4a", size = 11817, upload-time = "2026-10-02T23:06:14.227Z" }, + { url = "https://files.pythonhosted.org/packages/8f/69/2c2fcaa5fcee22d72c7819c0d536fd181c74a688e6143845419579cd2863/markupsafe-3.0.4-cp315-cp315-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:b807e598953730f82e4eae3bd30f6a122cf6b31c398c6b504c0e04c13c170429", size = 11446, upload-time = "2026-10-02T23:06:15.574Z" }, + { url = "https://files.pythonhosted.org/packages/88/54/9e5ec76c62e6e2834d5a93623018c943e8b3bb41d663e3fd4c03303b9b85/markupsafe-3.0.4-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:799c39bdf5e2f1292fedd3009f7b3c9e760f10b2420cb9638d56920840ff6db8", size = 11719, upload-time = "2026-10-02T23:06:16.701Z" }, + { url = "https://files.pythonhosted.org/packages/96/24/3ec292b44064c16229e064d770b2625bd8ea941aa61f44905a9fa44942c0/markupsafe-3.0.4-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:ae9dcb8fbe244cb82f8a6458b455b927a03685e383d9bacf1ea5ce180b96dc97", size = 12075, upload-time = "2026-10-02T23:06:17.855Z" }, + { url = "https://files.pythonhosted.org/packages/aa/85/b64fdb1f304848518742136983c24e96d967bfb59a0ea160e92736901ab0/markupsafe-3.0.4-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4bced6e2a6dba6a28f7dd3c6ce14df1b2dd495923f16ea484cad03decd463b2b", size = 24656, upload-time = "2026-10-02T23:06:18.963Z" }, + { url = "https://files.pythonhosted.org/packages/9c/18/23997d4c65b355da6390d61cd56e0ab3befd6ba8dda25cb40c602bd0fa6b/markupsafe-3.0.4-cp315-cp315-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3882fb412298575bae3b9c46868251f15cc69307359f87bb1b382e53d6e5a2c9", size = 27737, upload-time = "2026-10-02T23:06:20.117Z" }, + { url = "https://files.pythonhosted.org/packages/d4/36/35998dead3c6af88c38265a56e58100211f036234ab88eb2283fd4cbce44/markupsafe-3.0.4-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:04e7902ba80ee4bac1d50a549606527a1dcf0476cd81403db41099d3b60ec653", size = 25003, upload-time = "2026-10-02T23:06:21.284Z" }, + { url = "https://files.pythonhosted.org/packages/82/96/ef49135ce260db4ca4a12b119ed468449cd248db6b1468e2112b546d7a2e/markupsafe-3.0.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:925f929d6b59a8b3f8b8c6ac363cd0af7eecc81efb3071770b3c6717c450a369", size = 23111, upload-time = "2026-10-02T23:06:22.524Z" }, + { url = "https://files.pythonhosted.org/packages/50/7d/83126e338bd88c17a220668235368ad719fd4638e426739858cbb8508f77/markupsafe-3.0.4-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f68edfc67aabac33708941f26f22a7b8e9f81429bc0cf249fcf7d66b23af8d19", size = 22403, upload-time = "2026-10-02T23:06:23.785Z" }, + { url = "https://files.pythonhosted.org/packages/83/dd/daf7e420de23c8206c365204e7b85e1251d8e19d34196a56336f316e5ed2/markupsafe-3.0.4-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:e5c802729725bd07e2bc3ab7b76dc7e0bbfc53129d8f1eb1c002c24cf774717e", size = 24083, upload-time = "2026-10-02T23:06:25.037Z" }, + { url = "https://files.pythonhosted.org/packages/19/3c/11eecdc06bc44ad5570350085b572ebf049e8f9a38d1ece6d76640b739cd/markupsafe-3.0.4-cp315-cp315-musllinux_1_2_armv7l.whl", hash = "sha256:55ffd6ce583d97dc71dc92e930324c8c0d25aea7e3ade6ae54ef77cedb096811", size = 22931, upload-time = "2026-10-02T23:06:26.328Z" }, + { url = "https://files.pythonhosted.org/packages/0d/9e/ac0fd77f2a726e56ecc3ca0235d095feace1358d1b822406c2a2ef26a4dc/markupsafe-3.0.4-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:2cb3dd71fc6be918ad4264346a8ed69485f9b7ed7bf35495d8e22807cd6b8bea", size = 24299, upload-time = "2026-10-02T23:06:27.742Z" }, + { url = "https://files.pythonhosted.org/packages/d7/09/c6bd842ad58ff5b3bc76eeed7e9a42a6f11adc5d090ec697b72c9672731e/markupsafe-3.0.4-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:94f5407f7bc64fa6463906b896f9904beeeb7dd8dc116ee8e9056c8714ff9916", size = 21948, upload-time = "2026-10-02T23:06:29.274Z" }, + { url = "https://files.pythonhosted.org/packages/a3/46/82f586711fed61e86faa1ee1bc317d68cd45a10c8bdbe3f7d1fdf9026ad8/markupsafe-3.0.4-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:2dad610540cb2e6272855c178f08ae9a1c7ac258a7fb71660553a5f104b42741", size = 23150, upload-time = "2026-10-02T23:06:30.583Z" }, + { url = "https://files.pythonhosted.org/packages/19/2d/2dfdce99318abbfa26925195fbc17db188c46a1ec6457be121b6f9cfeb42/markupsafe-3.0.4-cp315-cp315-win32.whl", hash = "sha256:03470d1a8268e692ecf79ecd565593e59d44219377a7ead61f1f1b94c1f7ff6b", size = 14269, upload-time = "2026-10-02T23:06:31.949Z" }, + { url = "https://files.pythonhosted.org/packages/5b/ec/6000fd82e8791e58fcd0456ec20f098957e2b03d5ed02eb73241a577c0ba/markupsafe-3.0.4-cp315-cp315-win_amd64.whl", hash = "sha256:d882a373d8093c2941e01291b7ced96e9cbe4781da9a7751ca7e6c70385e5214", size = 14496, upload-time = "2026-10-02T23:06:33.258Z" }, + { url = "https://files.pythonhosted.org/packages/bc/66/e73bd5016421d5d6e2fb6de7dd609f9de020942ac8c626526bd8c6eeaf82/markupsafe-3.0.4-cp315-cp315-win_arm64.whl", hash = "sha256:353bd63081912ab8cfa6a0c7d185934cdf8426f04c618bba6bc4b394f2069b67", size = 14361, upload-time = "2026-10-02T23:06:34.539Z" }, + { url = "https://files.pythonhosted.org/packages/90/df/cb8c3dc98d313a951df2f8968f44e4cb5643df6d3cab749a530ce2f7d972/markupsafe-3.0.4-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:c61750fadcd119d0825bcb7d7d675dd264dcc89cc05292aab5be68ebdbb374ad", size = 11760, upload-time = "2026-10-02T23:06:35.807Z" }, + { url = "https://files.pythonhosted.org/packages/d6/bb/4af9b3ca0753d654ac75f9531d5bd741bb77ca6e696f36807c475ffc099a/markupsafe-3.0.4-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:1c0df495a977d10460a94941799c72d5b5ab03d3858d949b55b5a66c8f371c99", size = 12108, upload-time = "2026-10-02T23:06:37.089Z" }, + { url = "https://files.pythonhosted.org/packages/3f/d4/b56429313aee5fd59b079c3df5615299959e25e7113eb6d8caadbdd7d38a/markupsafe-3.0.4-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:02fa4acbc6a3fc5c693c34d4dd8c1130b7fe99cc915181b0ddd6f72aeb296002", size = 25762, upload-time = "2026-10-02T23:06:38.419Z" }, + { url = "https://files.pythonhosted.org/packages/65/f5/34c181e891aa4f7d59c918584672e0c5eb7fffe76c1387d1246008bf4081/markupsafe-3.0.4-cp315-cp315t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:05295589e619b9bed252a86b532b8e27350abc372d18ba89b59375325e91ec1e", size = 28400, upload-time = "2026-10-02T23:06:39.819Z" }, + { url = "https://files.pythonhosted.org/packages/ce/b5/ad14694fd0ac9a5ce30bc6498f2999378f418583dd1679cca5a1b512957e/markupsafe-3.0.4-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:be6cb0c799abb0e2ba3e618e6d28ddddf7e485f6c2ce938dfa237daf3905072c", size = 25946, upload-time = "2026-10-02T23:06:41.381Z" }, + { url = "https://files.pythonhosted.org/packages/d6/a8/26b606445387d0ceb1eb1f21840094b84e4e3c3c3983d80d10b89823b490/markupsafe-3.0.4-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:26e9867520db70d37f7fb421a7f0d8adb40171011fb84ce869afa1a83370dfa8", size = 23634, upload-time = "2026-10-02T23:06:42.748Z" }, + { url = "https://files.pythonhosted.org/packages/39/a2/b8814de672f1f0094d498bf646f2fec9d6356b503d28ef500b71c5095377/markupsafe-3.0.4-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f03460ff076f70ab595bb45a0205ccea1971443575b6920c52e755dec2b3fbfe", size = 23488, upload-time = "2026-10-02T23:06:44.176Z" }, + { url = "https://files.pythonhosted.org/packages/db/c7/287223376fb73335a3cc5d6eb22c6ab01358cf33945a9c39c06b9dac3f4b/markupsafe-3.0.4-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:436e3ffc6310d3c41878c601db29098102fe5d8a467c49da4a4125254e0980f2", size = 25037, upload-time = "2026-10-02T23:06:45.646Z" }, + { url = "https://files.pythonhosted.org/packages/f9/29/4df8355e313426d19e62ba33e0253c009ca12a0894ee77d67fa67255361c/markupsafe-3.0.4-cp315-cp315t-musllinux_1_2_armv7l.whl", hash = "sha256:4e2c4809c14559aa7ef426f27fb35afbb38104c349a903bf8f3600456764bb38", size = 23543, upload-time = "2026-10-02T23:06:47.264Z" }, + { url = "https://files.pythonhosted.org/packages/71/e5/8377731e8495668dcc768f645e717df18318c841edaf023a99395f6da9b4/markupsafe-3.0.4-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:da2af0d7aebfc2074080d72efa6ab8317c62481ef1f896f65d9999c1c01f4494", size = 25282, upload-time = "2026-10-02T23:06:48.795Z" }, + { url = "https://files.pythonhosted.org/packages/ed/5f/373456e37ceb1478d657d6fe769cbe0a39f0a8dfc1548eeb19c471eefdd9/markupsafe-3.0.4-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:aa2c838cc024642cc04c6854232f32b43e5e22833dd11119c1766c7873b8370d", size = 22993, upload-time = "2026-10-02T23:06:50.31Z" }, + { url = "https://files.pythonhosted.org/packages/d7/93/2cbd5628435afb6f541bbaced4bce0c2edac4b09a142e6e928b8b0da9858/markupsafe-3.0.4-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:b91cc9d336957239ff200f30097e6fea2dc6d6fb3c81e853eaa09eac904fd894", size = 23712, upload-time = "2026-10-02T23:06:51.759Z" }, + { url = "https://files.pythonhosted.org/packages/81/99/157e10966b033b363aeda5263e82596ee232a0b1d082fdbf90aa417ff083/markupsafe-3.0.4-cp315-cp315t-win32.whl", hash = "sha256:e49fb0d1ce92cfa0cb198cc5b1b11cdf9d0638658e2a2db2687e39db7c87fc78", size = 14300, upload-time = "2026-10-02T23:06:53.241Z" }, + { url = "https://files.pythonhosted.org/packages/33/05/55884815414c9706a23deca150b72c25a62109e65b0b6ce232077802c719/markupsafe-3.0.4-cp315-cp315t-win_amd64.whl", hash = "sha256:4f6e0852a0283b1b1fd776eeb7b766a5f440b3e2bd31ab51af3b400585f3965c", size = 14522, upload-time = "2026-10-02T23:06:54.729Z" }, + { url = "https://files.pythonhosted.org/packages/92/f9/ecbde7149e95b8a0f18e16d5d747f7dc06049d5da2e4f77f6f5e4a1f46a8/markupsafe-3.0.4-cp315-cp315t-win_arm64.whl", hash = "sha256:39dbacefc411633db5b4378b066a9aca70a3d7e2922c9e578d825f844026eeba", size = 14417, upload-time = "2026-10-02T23:06:56.246Z" }, +] + +[[package]] +name = "mergedeep" +version = "1.3.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3a/41/580bb4006e3ed0361b8151a01d324fb03f420815446c7def45d02f74c270/mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8", size = 4661, upload-time = "2021-02-05T18:55:30.623Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/19/04f9b178c2d8a15b076c8b5140708fa6ffc5601fb6f1e975537072df5b2a/mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307", size = 6354, upload-time = "2021-02-05T18:55:29.583Z" }, +] + +[[package]] +name = "mkdocs" +version = "1.6.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "ghp-import" }, + { name = "jinja2" }, + { name = "markdown" }, + { name = "markupsafe" }, + { name = "mergedeep" }, + { name = "mkdocs-get-deps" }, + { name = "packaging" }, + { name = "pathspec" }, + { name = "pyyaml" }, + { name = "pyyaml-env-tag" }, + { name = "watchdog" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bc/c6/bbd4f061bd16b378247f12953ffcb04786a618ce5e904b8c5a01a0309061/mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2", size = 3889159, upload-time = "2024-08-30T12:24:06.899Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e", size = 3864451, upload-time = "2024-08-30T12:24:05.054Z" }, +] + +[[package]] +name = "mkdocs-get-deps" +version = "0.2.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mergedeep" }, + { name = "platformdirs" }, + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ce/25/b3cccb187655b9393572bde9b09261d267c3bf2f2cdabe347673be5976a6/mkdocs_get_deps-0.2.2.tar.gz", hash = "sha256:8ee8d5f316cdbbb2834bc1df6e69c08fe769a83e040060de26d3c19fad3599a1", size = 11047, upload-time = "2026-03-10T02:46:33.632Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/29/744136411e785c4b0b744d5413e56555265939ab3a104c6a4b719dad33fd/mkdocs_get_deps-0.2.2-py3-none-any.whl", hash = "sha256:e7878cbeac04860b8b5e0ca31d3abad3df9411a75a32cde82f8e44b6c16ff650", size = 9555, upload-time = "2026-03-10T02:46:32.256Z" }, +] + +[[package]] +name = "mkdocs-material" +version = "9.8.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "babel" }, + { name = "backrefs" }, + { name = "colorama" }, + { name = "jinja2" }, + { name = "markdown" }, + { name = "mkdocs" }, + { name = "mkdocs-material-extensions" }, + { name = "paginate" }, + { name = "pygments" }, + { name = "pymdown-extensions" }, + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b9/02/3c0df248819286810d8479b3a72d9531db0cc36c042fe1ab3985f137c664/mkdocs_material-9.8.0.tar.gz", hash = "sha256:1ed4c5edaf405a3fb62e55288b8fdff592971729361548b1ffa757bf9849fb81", size = 4094495, upload-time = "2026-10-24T09:50:16.181Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c8/16/360f44c7702f27ff4670a647a16c72432291e311371d72b4c34a57e990e0/mkdocs_material-9.8.0-py3-none-any.whl", hash = "sha256:19304a7263c5700428227122b3b2699aa73f432c9de8816876adaec7d7293ce3", size = 9302245, upload-time = "2026-10-24T09:50:12.636Z" }, +] + +[[package]] +name = "mkdocs-material-extensions" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/79/9b/9b4c96d6593b2a541e1cb8b34899a6d021d208bb357042823d4d2cabdbe7/mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443", size = 11847, upload-time = "2023-11-22T19:09:45.208Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31", size = 8728, upload-time = "2023-11-22T19:09:43.465Z" }, +] + +[[package]] +name = "packaging" +version = "26.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7d/fa/3944b40b07da9ce895c0e6303a5ab7d53da063554f534556b134a54d6093/packaging-26.3.tar.gz", hash = "sha256:94edc256424af38762eb31306eed28beb9f0efc50a8837492c9d6fd6004aed79", size = 313412, upload-time = "2026-08-04T18:15:28.737Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl", hash = "sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c", size = 129956, upload-time = "2026-08-04T18:15:27.159Z" }, +] + +[[package]] +name = "paginate" +version = "0.5.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ec/46/68dde5b6bc00c1296ec6466ab27dddede6aec9af1b99090e1107091b3b84/paginate-0.5.7.tar.gz", hash = "sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945", size = 19252, upload-time = "2024-08-25T14:17:24.139Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591", size = 13746, upload-time = "2024-08-25T14:17:22.55Z" }, +] + +[[package]] +name = "pathspec" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5a/82/42f767fc1c1143d6fd36efb827202a2d997a375e160a71eb2888a925aac1/pathspec-1.1.1.tar.gz", hash = "sha256:17db5ecd524104a120e173814c90367a96a98d07c45b2e10c2f3919fff91bf5a", size = 135180, upload-time = "2026-04-27T01:46:08.907Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl", hash = "sha256:a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189", size = 57328, upload-time = "2026-04-27T01:46:07.06Z" }, +] + +[[package]] +name = "platformdirs" +version = "4.13.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/58/e6/d0abbb256b44e6a05748c6942511ff67db8dbb068de0c35b24bf1b395b09/platformdirs-4.13.5.tar.gz", hash = "sha256:05831adf87d392760f4b5c3a0a95579ab5a10b18b9b9bd43680dcb47544788a0", size = 62362, upload-time = "2026-10-19T01:02:11.778Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6c/8a/1d8cb3842909dc193a73835adedf412e32e18f8ffd59f43983949622fe6f/platformdirs-4.13.5-py3-none-any.whl", hash = "sha256:53d3ec4280b815c1e0b02edad7f9ee8fda1ba9c0865dd9c2e6e63849ce82fc1e", size = 32779, upload-time = "2026-10-19T01:02:10.17Z" }, +] + +[[package]] +name = "pygments" +version = "2.21.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/49/2e/ced460408999b33da6b31b0021b0f37d329e202d4169aeb164493778f25b/pygments-2.21.0.tar.gz", hash = "sha256:610ca751c9bc2492b38eb9a38a7fbc93edbbb2d7182edaf34e66ae493dee5c8c", size = 5005329, upload-time = "2026-08-17T08:02:48.824Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl", hash = "sha256:2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9", size = 1250147, upload-time = "2026-08-17T08:02:44.912Z" }, +] + +[[package]] +name = "pymdown-extensions" +version = "12.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown" }, + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f3/fe/ac50ee24a80a1b344e643f6fb626063cc7041b978cd1dd9a7f9963ae1cd1/pymdown_extensions-12.3.tar.gz", hash = "sha256:a7f2a4e0bc60c6e6babfa7922cfb3b01cd640eb00fb208f3c582e12bae00ea67", size = 870532, upload-time = "2026-10-14T22:40:43.252Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/d0/758afe732c2da502c051b4d03ff88daa3c0fc1a1e671e6c5a6318177bab4/pymdown_extensions-12.3-py3-none-any.whl", hash = "sha256:345493a8e3497e24382902903a1c43a28e34a52f2b7571a1c9641429b820ca74", size = 277597, upload-time = "2026-10-14T22:40:41.543Z" }, +] + +[[package]] +name = "python-dateutil" +version = "3.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, + { name = "tzdata" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0e/df/f15f80383f152452d8985b36d95cb8751f901a3e0ff4cd27f7e118f168e2/python_dateutil-3.0.0.tar.gz", hash = "sha256:7ebcb3c29a92f3ceafe79a7a48a5c45677e9e004bbeec5742ac0bbb00560b7a2", size = 271066, upload-time = "2026-10-21T23:41:45.075Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5a/17/cebee01d1c0c1441174cf0456ddc91b280d79acb65340c05e41d77866ee8/python_dateutil-3.0.0-py2.py3-none-any.whl", hash = "sha256:3c79630202e4152c6add678446984236efe4f57e84d8e892aab0637bab82e9fd", size = 94659, upload-time = "2026-10-21T23:41:43.431Z" }, +] + +[[package]] +name = "pyyaml" +version = "6.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", size = 181669, upload-time = "2025-09-25T21:32:23.673Z" }, + { url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", size = 173252, upload-time = "2025-09-25T21:32:25.149Z" }, + { url = "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", size = 767081, upload-time = "2025-09-25T21:32:26.575Z" }, + { url = "https://files.pythonhosted.org/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", size = 841159, upload-time = "2025-09-25T21:32:27.727Z" }, + { url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", size = 801626, upload-time = "2025-09-25T21:32:28.878Z" }, + { url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", size = 753613, upload-time = "2025-09-25T21:32:30.178Z" }, + { url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", size = 794115, upload-time = "2025-09-25T21:32:31.353Z" }, + { url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", size = 137427, upload-time = "2025-09-25T21:32:32.58Z" }, + { url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", size = 154090, upload-time = "2025-09-25T21:32:33.659Z" }, + { url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", size = 140246, upload-time = "2025-09-25T21:32:34.663Z" }, + { url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", size = 181814, upload-time = "2025-09-25T21:32:35.712Z" }, + { url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", size = 173809, upload-time = "2025-09-25T21:32:36.789Z" }, + { url = "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", size = 766454, upload-time = "2025-09-25T21:32:37.966Z" }, + { url = "https://files.pythonhosted.org/packages/02/9e/e5e9b168be58564121efb3de6859c452fccde0ab093d8438905899a3a483/pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", size = 836355, upload-time = "2025-09-25T21:32:39.178Z" }, + { url = "https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", size = 794175, upload-time = "2025-09-25T21:32:40.865Z" }, + { url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", size = 755228, upload-time = "2025-09-25T21:32:42.084Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", size = 789194, upload-time = "2025-09-25T21:32:43.362Z" }, + { url = "https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", size = 156429, upload-time = "2025-09-25T21:32:57.844Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", size = 143912, upload-time = "2025-09-25T21:32:59.247Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", size = 189108, upload-time = "2025-09-25T21:32:44.377Z" }, + { url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", size = 183641, upload-time = "2025-09-25T21:32:45.407Z" }, + { url = "https://files.pythonhosted.org/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", size = 831901, upload-time = "2025-09-25T21:32:48.83Z" }, + { url = "https://files.pythonhosted.org/packages/8b/cc/dff0684d8dc44da4d22a13f35f073d558c268780ce3c6ba1b87055bb0b87/pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", size = 861132, upload-time = "2025-09-25T21:32:50.149Z" }, + { url = "https://files.pythonhosted.org/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", size = 839261, upload-time = "2025-09-25T21:32:51.808Z" }, + { url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", size = 805272, upload-time = "2025-09-25T21:32:52.941Z" }, + { url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", size = 829923, upload-time = "2025-09-25T21:32:54.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", size = 174062, upload-time = "2025-09-25T21:32:55.767Z" }, + { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341, upload-time = "2025-09-25T21:32:56.828Z" }, +] + +[[package]] +name = "pyyaml-env-tag" +version = "1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/2e/79c822141bfd05a853236b504869ebc6b70159afc570e1d5a20641782eaa/pyyaml_env_tag-1.1.tar.gz", hash = "sha256:2eb38b75a2d21ee0475d6d97ec19c63287a7e140231e4214969d0eac923cd7ff", size = 5737, upload-time = "2025-05-13T15:24:01.64Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/11/432f32f8097b03e3cd5fe57e88efb685d964e2e5178a48ed61e841f7fdce/pyyaml_env_tag-1.1-py3-none-any.whl", hash = "sha256:17109e1a528561e32f026364712fee1264bc2ea6715120891174ed1b980d2e04", size = 4722, upload-time = "2025-05-13T15:23:59.629Z" }, +] + +[[package]] +name = "requests" +version = "2.34.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ac/c3/e2a2b89f2d3e2179abd6d00ebd70bff6273f37fb3e0cc209f48b39d00cbf/requests-2.34.2.tar.gz", hash = "sha256:f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104f584e960b9ed", size = 142856, upload-time = "2026-05-14T19:25:27.735Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl", hash = "sha256:2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0", size = 73075, upload-time = "2026-05-14T19:25:26.443Z" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + +[[package]] +name = "tzdata" +version = "2026.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d9/68/f1b440335057bfce71b6e50a9d09445aa2ecbd08359a337976627b8409e7/tzdata-2026.5.tar.gz", hash = "sha256:8cc73c0a0bfca7dbfa59235d60b2eff82231dee33f53d206db1acd9173cfc0a7", size = 200404, upload-time = "2026-10-03T09:23:14.143Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/21/1e5995a1c920cce14e4bffae20c665ec10e7ed03ab25e006cd741092b718/tzdata-2026.5-py2.py3-none-any.whl", hash = "sha256:b683bd1b6659ddcd810ff02ad09ba821d4bf1065072805063eb35c49617905ac", size = 347996, upload-time = "2026-10-03T09:23:12.535Z" }, +] + +[[package]] +name = "urllib3" +version = "2.8.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" }, +] + +[[package]] +name = "watchdog" +version = "6.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282", size = 131220, upload-time = "2024-11-01T14:07:13.037Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/68/98/b0345cabdce2041a01293ba483333582891a3bd5769b08eceb0d406056ef/watchdog-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c", size = 96480, upload-time = "2024-11-01T14:06:42.952Z" }, + { url = "https://files.pythonhosted.org/packages/85/83/cdf13902c626b28eedef7ec4f10745c52aad8a8fe7eb04ed7b1f111ca20e/watchdog-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134", size = 88451, upload-time = "2024-11-01T14:06:45.084Z" }, + { url = "https://files.pythonhosted.org/packages/fe/c4/225c87bae08c8b9ec99030cd48ae9c4eca050a59bf5c2255853e18c87b50/watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b", size = 89057, upload-time = "2024-11-01T14:06:47.324Z" }, + { url = "https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", size = 79079, upload-time = "2024-11-01T14:06:59.472Z" }, + { url = "https://files.pythonhosted.org/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379", size = 79078, upload-time = "2024-11-01T14:07:01.431Z" }, + { url = "https://files.pythonhosted.org/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e", size = 79076, upload-time = "2024-11-01T14:07:02.568Z" }, + { url = "https://files.pythonhosted.org/packages/ab/cc/da8422b300e13cb187d2203f20b9253e91058aaf7db65b74142013478e66/watchdog-6.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f", size = 79077, upload-time = "2024-11-01T14:07:03.893Z" }, + { url = "https://files.pythonhosted.org/packages/2c/3b/b8964e04ae1a025c44ba8e4291f86e97fac443bca31de8bd98d3263d2fcf/watchdog-6.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26", size = 79078, upload-time = "2024-11-01T14:07:05.189Z" }, + { url = "https://files.pythonhosted.org/packages/62/ae/a696eb424bedff7407801c257d4b1afda455fe40821a2be430e173660e81/watchdog-6.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c", size = 79077, upload-time = "2024-11-01T14:07:06.376Z" }, + { url = "https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2", size = 79078, upload-time = "2024-11-01T14:07:07.547Z" }, + { url = "https://files.pythonhosted.org/packages/07/f6/d0e5b343768e8bcb4cda79f0f2f55051bf26177ecd5651f84c07567461cf/watchdog-6.0.0-py3-none-win32.whl", hash = "sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a", size = 79065, upload-time = "2024-11-01T14:07:09.525Z" }, + { url = "https://files.pythonhosted.org/packages/db/d9/c495884c6e548fce18a8f40568ff120bc3a4b7b99813081c8ac0c936fa64/watchdog-6.0.0-py3-none-win_amd64.whl", hash = "sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680", size = 79070, upload-time = "2024-11-01T14:07:10.686Z" }, + { url = "https://files.pythonhosted.org/packages/33/e8/e40370e6d74ddba47f002a32919d91310d6074130fe4e17dabcafc15cbf1/watchdog-6.0.0-py3-none-win_ia64.whl", hash = "sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f", size = 79067, upload-time = "2024-11-01T14:07:11.845Z" }, +]