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.12

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.12
File Size Uploaded
tko-12.0.12.tar.gz 263.1 kB Details

Built distribution (wheel)

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

Total release size: 601.5 kB

Release files / tko-12.0.12.tar.gz

Download URL tko-12.0.12.tar.gz
Size 263.1 kB
Tags Source
SHA-256 checksum
How to use checksums
8b30c39274e23a17f9f9b020c16450a682880462edcc26d50cd1e9b827434c4c
BLAKE2b-256 checksum
How to use checksums
809a54c357c8d4fc86d336027fc557988fc4d6963da622b108a3aeb3fa486ce8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.16 {"installer":{"name":"uv","version":"0.12.16","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.12-py3-none-any.whl

Download URL tko-12.0.12-py3-none-any.whl
Size 338.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
317432e0b1f23d9c42803a0deb9210e57049fb7d79f44a148db710edbafa6a84
BLAKE2b-256 checksum
How to use checksums
3f61c82ce9376a2e4c285c403d1dc406ba77d12ecff7c74613df6b4dfe20381c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.16 {"installer":{"name":"uv","version":"0.12.16","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.12 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