Skip to main content

TKO

Distribuição de tarefas de programação com Git, desenvolvimento na IDE do aluno e análise contínua do processo de aprendizagem.

Tests PyPI version Python Downloads License: MIT Repo Stars

O TKO é um ecossistema de ensino de programação centrado em prática, versionamento e evidências de aprendizagem. Ele distribui atividades via Git, permite desenvolvimento na IDE local e acompanha progresso de turmas com dados reais de evolução.

Visão Geral

O TKO resolve o problema de acoplar ensino de programação a ambientes artificiais de navegador. Em vez disso, o aluno trabalha no próprio fluxo profissional: editor, terminal, compilador e controle de versão.

Para o professor, o sistema viabiliza distribuição de tarefas personalizadas e acompanhamento de execução com sinais de desenvolvimento, como tempo de resolução, histórico de versões e progresso por atividade.

Fluxo rápido:

  1. Professor cria ou publica repositórios de questões.
  2. Aluno baixa a atividade e desenvolve na própria IDE.
  3. Aluno executa os testes localmente e itera com feedback imediato.
  4. Aluno envia para o professor via Git, normalmente por um repositório compartilhado no GitHub.
  5. Professor acompanha evolução, métricas de aprendizado, tentativas e progresso da turma.

Quick Start

Ubuntu / WSL / Codespaces

curl -fsSL https://raw.githubusercontent.com/senapk/tko/main/install.sh | bash
tko --version
tko --help

Saída esperada:

  • O comando tko --version deve mostrar a versão instalada.
  • O comando tko --help deve listar os comandos principais (task, index, collect, config, ...).

Se tko não for encontrado, adicione ~/.local/bin ao PATH e abra um novo terminal:

export PATH="$HOME/.local/bin:$PATH"

Instalações existentes via pipx continuam suportadas:

pipx install tko

Windows

Use o guia recomendado para setup com VS Code, WSL e Ubuntu:

Comandos principais

tko
├── init, open, run
├── task     build, show, open, list, tests, download
├── index    build, download, update
├── config
│   ├── set, list, reset, self-update, uninstall, clear-cache
│   ├── profile  link, status, update, unlink
│   └── source   list, add, remove, set
├── collect  repo, tasks, skills
├── audit    on, off, start, preview, unpack
└── tool     mdpp, convert-tests, older, diff, rebase, filter, html, migrate, pull
# No repositório do aluno
tko task download course@labs/fila
tko task show course/labs/fila
tko task open course/labs/fila

# Dentro da pasta da atividade, o caminho é implícito
tko task tests
tko run --language py --diff-mode side --failures first

# Escolher outra atividade explicitamente
tko task open --fzf

# Diretório efetivo para qualquer comando
tko -C caminho/do/repositorio tool migrate --dry-run
tko -C caminho/do/repositorio tool migrate

task show, task open e task tests aceitam caminhos existentes. Sem caminho, usam a atividade da pasta atual ou abrem um seletor quando não há atividade atual. task download recebe uma chave, pois a atividade ainda não foi baixada. --fzf/-f abre o seletor; --filter/-F filtra código antes da execução. O idioma da interface usa --ui-language pt|en antes do comando; a linguagem de programação usa --language/-l em init, run e collect skills.

Veja a referência da CLI para parâmetros e exemplos completos.

Casos de Uso

  • Distribuição de listas e atividades de programação via Git.
  • Desenvolvimento local na IDE do aluno, sem dependência de browser.
  • Correção automática com testes e iteração rápida.
  • Acompanhamento docente com indicadores de progresso e histórico.

Documentação por Perfil

Repositórios de referência:

Instalação

Uso do TKO pelos alunos

Uso pelos professores

Uso pelos desenvolvedores

Ferramentas

Referência e suporte

Atualizando o TKO

Para a instalação recomendada, use:

tko config self-update

Para instalações existentes via pipx, use:

pipx upgrade tko

Contribuição

Contribuições são bem-vindas via pull request.

Fluxo mínimo para validar mudanças localmente:

uv run pytest -q

Se possível, mantenha mudanças pequenas, com descrição clara do problema e da solução no PR.

Licença

Este projeto está sob a licença MIT. Veja LICENSE.

Release files for tko 12.0.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tko 12.0.11
File Size Uploaded
tko-12.0.11.tar.gz 262.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tko 12.0.11
File Interpreter ABI Platform
tko-12.0.11-py3-none-any.whl Python 3 none any Details

Total release size: 601.1 kB

Release files / tko-12.0.11.tar.gz

Download URL tko-12.0.11.tar.gz
Size 262.8 kB
Tags Source
SHA-256 checksum
How to use checksums
7a7c14e4841cf0ac89b5eb339f28797594c0bf74d0f6119a3d05ed0531e00389
BLAKE2b-256 checksum
How to use checksums
56fa17392e7e01a93e15a6c4f23156790fed4c1eae7a5d5776a413f74872ae3c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"EndeavourOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / tko-12.0.11-py3-none-any.whl

Download URL tko-12.0.11-py3-none-any.whl
Size 338.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
717eac4beafd0e4af3931ec5e4d0fc1f50ea21ba5f935607fa85dce8d57f0235
BLAKE2b-256 checksum
How to use checksums
c84b75bfbf835a8fe9aeaf8f5bf496bd49d3aff4498e823995c4d5cbe68e5ec1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"EndeavourOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

12.0.11 This release

2 release files

12.0.9

2 release files

12.0.8

2 release files

12.0.7

2 release files

12.0.6

2 release files

12.0.5

2 release files

12.0.4

2 release files

12.0.3

2 release files

12.0.2

2 release files

12.0.1

2 release files

12.0.0

2 release files

11.0.1

2 release files

10.2.0

2 release files

10.1.0

2 release files

10.0.5

2 release files

10.0.4

2 release files

10.0.3

2 release files

10.0.2

2 release files

10.0.1

2 release files

10.0.0

2 release files

9.22.0

2 release files

9.21.0

2 release files

9.17.9

2 release files

9.17.8

2 release files

9.17.7

2 release files

9.17.6

2 release files

9.17.5

2 release files

9.17.4

2 release files

9.17.3

2 release files

9.17.2

2 release files

9.17.1

2 release files

9.17.0

2 release files

9.16.0

2 release files

9.15.0

2 release files

9.14.8

2 release files

9.14.7

2 release files

9.14.6

2 release files

9.14.5

2 release files

9.14.4

2 release files

9.14.3

2 release files

9.14.2

2 release files

9.14.1

2 release files

9.14.0

2 release files

9.13.5

2 release files

9.13.4

2 release files

9.13.3

2 release files

9.13.2

2 release files

9.13.1

2 release files

9.13.0

2 release files

9.10.1

2 release files

9.10.0

2 release files

9.9.1

2 release files

9.9.0

2 release files

9.8.3

2 release files

9.8.2

2 release files

9.8.1

2 release files

9.8.0

2 release files

9.7.5

2 release files

9.7.4

2 release files

9.7.3

2 release files

9.7.2

2 release files

9.7.1

2 release files

9.6.7

2 release files

9.6.6

2 release files

9.6.5

2 release files

9.6.4

2 release files

9.6.3

2 release files

9.6.2

2 release files

9.6.1

2 release files

9.5.6

2 release files

9.5.5

2 release files

9.5.4

2 release files

9.5.2

2 release files

9.5.1

2 release files

9.5.0

2 release files

9.4.2

2 release files

9.4.1

2 release files

9.4.0

2 release files

9.3.4

2 release files

9.3.3

2 release files

9.3.1

2 release files

9.3.0

2 release files

9.2.3

2 release files

9.2.2

2 release files

9.2.1

2 release files

9.2.0

2 release files

9.1.2

2 release files

9.1.1

2 release files

9.1.0

2 release files

9.0.8

2 release files

9.0.7

2 release files

9.0.5

2 release files

9.0.4

2 release files

9.0.3

1 release file

9.0.2

2 release files

9.0.1

2 release files

9.0.0

2 release files

8.5.3

2 release files

8.5.2

2 release files

8.5.1

2 release files

8.5.0

2 release files

8.4.3

2 release files

8.4.2

2 release files

8.4.1

2 release files

8.4.0

1 release file

8.3.2

2 release files

8.3.1

2 release files

8.3.0

2 release files

8.2.3

2 release files

8.2.2

2 release files

8.2.1

2 release files

8.2.0

2 release files

8.1.0

2 release files

8.0.0

2 release files

7.9.0

2 release files

7.8.1

2 release files

7.7.0

2 release files

7.6.0

2 release files

7.5.1

2 release files

7.5.0

2 release files

7.4.6

2 release files

7.4.5

2 release files

7.4.4

2 release files

7.4.3

2 release files

7.4.2

2 release files

7.4.1

2 release files

7.4.0

2 release files

7.3.2

2 release files

7.3.1

2 release files

7.2.4

2 release files

7.2.3

2 release files

7.2.2

2 release files

7.2.1

2 release files

7.2.0

2 release files

7.1.0

2 release files

7.0.0

2 release files

6.5.1

2 release files

6.5.0

2 release files

6.4.0

2 release files

6.3.3

2 release files

6.3.2

2 release files

6.3.1

2 release files

6.3.0

2 release files

6.2.0

2 release files

6.1.2

2 release files

6.1.1

2 release files

6.1.0

2 release files

6.0.6

2 release files

6.0.5

2 release files

6.0.4

2 release files

6.0.3

2 release files

6.0.2

2 release files

6.0.1

2 release files

6.0.0

2 release files

5.2.14

2 release files

5.2.13

2 release files

5.2.12

2 release files

5.2.11

2 release files

5.2.10

2 release files

5.2.9

2 release files

5.2.8

2 release files

5.2.7

2 release files

5.2.6

2 release files

5.2.5

2 release files

5.2.4

2 release files

5.2.3

2 release files

5.2.2

2 release files

5.2.1

2 release files

5.2.0

2 release files

5.1.5

2 release files

5.1.4

2 release files

5.1.3

2 release files

5.1.2

2 release files

5.1.1

2 release files

5.1.0

2 release files

5.0.14

2 release files

5.0.13

2 release files

5.0.12

2 release files

5.0.11

2 release files

5.0.10

2 release files

5.0.9

2 release files

5.0.8

2 release files

5.0.7

2 release files

5.0.6

2 release files

5.0.5

2 release files

5.0.4

2 release files

5.0.3

2 release files

5.0.2

2 release files

5.0.1

2 release files

5.0.0

2 release files

4.8.1

2 release files

4.8.0

2 release files

4.7.2

2 release files

4.7.1

2 release files

4.7.0

2 release files

4.6.4

2 release files

4.6.3

2 release files

4.6.2

2 release files

4.6.1

2 release files

4.6.0

2 release files

4.5.0

2 release files

4.4.0

2 release files

4.3.0

2 release files

4.2.0

2 release files

4.1.5

2 release files

4.1.4

2 release files

4.1.3

2 release files

4.1.2

2 release files

4.1.1

2 release files

4.1.0

2 release files

4.0.2

2 release files

4.0.1

2 release files

4.0.0

2 release files

3.9.6

2 release files

3.9.5

2 release files

3.9.4

2 release files

3.9.3

2 release files

3.9.2

2 release files

3.9.1

2 release files

3.9.0

2 release files

3.8.1

2 release files

3.8.0

2 release files

3.7.1

2 release files

3.7.0

2 release files

3.6.5

2 release files

3.6.4

2 release files

3.6.3

2 release files

3.6.2

2 release files

3.6.1

2 release files

3.6.0

2 release files

3.5.6

2 release files

3.5.5

2 release files

3.5.4

2 release files

3.5.3

2 release files

3.5.2

2 release files

3.5.1

2 release files

3.5.0

2 release files

3.4.1

2 release files

3.4.0

2 release files

3.3.1

2 release files

3.3.0

2 release files

3.2.0

2 release files

3.1.3

2 release files

3.1.2

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.9.0

2 release files

2.8.6

2 release files

2.8.5

2 release files

2.8.4

2 release files

2.8.3

2 release files

2.8.2

2 release files

2.8.1

2 release files

2.8.0

2 release files

2.7.1

2 release files

2.7.0

2 release files

2.6.8

2 release files

2.6.7

2 release files

2.6.6

2 release files

2.6.5

2 release files

2.6.4

2 release files

2.6.3

2 release files

2.6.2

2 release files

2.5.1

2 release files

2.5.0

2 release files

2.4.3

2 release files

2.4.2

2 release files

2.4.1

2 release files

2.4.0

2 release files

2.3.1

2 release files

2.3.0

2 release files

2.2.3

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.5

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.9.3

2 release files

1.9.2

2 release files

1.9.1

2 release files

1.9.0

2 release files

1.8.6

2 release files

1.8.5

2 release files

1.8.4

2 release files

1.8.3

2 release files

1.8.2

2 release files

1.8.1

2 release files

1.8.0

2 release files

1.7.0

2 release files

1.6.3

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.0

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.32.1

2 release files

0.32.0

2 release files

0.31.0

2 release files

0.30.0

2 release files

0.29.0

2 release files

0.28.0

2 release files

0.27.0

2 release files

0.26.0

2 release files

0.25.1

2 release files

0.25.0

2 release files

0.24.5

2 release files

0.24.4

2 release files

0.24.3

2 release files

0.23.4

2 release files

0.23.2

2 release files

0.23.1

2 release files

0.23.0

2 release files

0.22.7

2 release files

0.22.5

2 release files

0.22.4

2 release files

0.22.3

2 release files

0.22.1

2 release files

0.22.0

2 release files

0.21.4

2 release files

0.21.3

2 release files

0.21.1

2 release files

0.21.0

2 release files

0.20.8

2 release files

0.20.7

2 release files

0.20.6

2 release files

0.20.5

2 release files

0.20.4

2 release files

0.20.3

2 release files

0.20.2

2 release files

0.20.1

2 release files

0.20.0

2 release files

0.19.6

2 release files

0.19.5

2 release files

0.19.4

2 release files

0.19.3

2 release files

0.19.2

2 release files

0.19.1

2 release files

0.19.0

2 release files

0.18.9

2 release files

0.18.8

2 release files

0.18.6

2 release files

0.18.5

2 release files

0.18.4

2 release files

0.18.3

2 release files

0.18.2

2 release files

0.18.1

2 release files

0.18.0

2 release files

0.17.9

2 release files

0.17.8

2 release files

0.17.7

2 release files

0.17.6

2 release files

0.17.5

2 release files

0.17.4

2 release files

0.17.2

2 release files

0.17.1

2 release files

0.17.0

2 release files

0.16.0

2 release files

0.15.7

2 release files

0.14.3

2 release files

0.14.2

2 release files

0.14.1

2 release files

0.14.0

2 release files

0.13.6

2 release files

0.13.5

2 release files

0.13.4

2 release files

0.13.3

2 release files

0.13.2

2 release files

0.13.1

2 release files

0.13.0

2 release files

0.12.9

2 release files

0.12.7

2 release files

0.12.6

2 release files

0.12.5

2 release files

0.12.4

2 release files

0.12.3

2 release files

0.12.2

2 release files

0.12.1

2 release files

0.12.0

2 release files

0.11.9

2 release files

0.11.8

2 release files

0.11.7

2 release files

0.11.6

2 release files

0.11.5

2 release files

0.11.4

2 release files

0.11.3

2 release files

0.11.2

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.10.9

2 release files

0.10.8

2 release files

0.10.7

2 release files

0.10.6

2 release files

0.10.4

2 release files

0.10.3

2 release files

0.10.2

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.7

2 release files

0.8.6

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.13

2 release files

0.6.12

2 release files

0.6.11

2 release files

0.6.10

2 release files

0.6.9

2 release files

0.6.8

2 release files

0.6.7

2 release files

0.6.6

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.9

2 release files

0.5.8

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page