cardstream
Baixar

Coloque o cardstream para rodar

Um comando no macOS e no Linux; um wheel publicado, um Dockerfile e um build a partir do código-fonte quando você quiser mais controle. macOS arm64, Linux amd64 e Windows amd64 são cobertos pela mesma versão em Python puro.

Script de instalação

Instale com um comando

Cria um virtualenv em ~/.cardstream, confere o wheel da versão publicada com seus checksums, baixa os pesos dos modelos e coloca cardstream-web e cardstream-client no seu PATH. Usa o uv se você tiver.

$ curl -fsSL https://raw.githubusercontent.com/Ximilar-com/cardstream/main/scripts/install.sh | sh
$ export XIMILAR_API_KEY=your-key
$ cardstream-web
# → http://127.0.0.1:8001 — mostre uma carta para a câmera

Ajustes, se você precisar

  • CARDSTREAM_VERSION — fixa uma tag de versão em vez da mais recente, por exemplo v0.5.0
  • CARDSTREAM_HOME — raiz da instalação, com o venv e os modelos (padrão ~/.cardstream)
  • INSTALL_DIR — onde ficam os shims cardstream-web / cardstream-client (padrão ~/.local/bin)
  • CARDSTREAM_MODELS_BASE_URL — host alternativo para os tarballs de pesos de cada modelo
  • CARDSTREAM_MODEL_ARCHIVES — quais tarballs baixar de lá (separados por espaço)
  • CARDSTREAM_EXTRAS — extras do pip a instalar (padrão client,onnx)
  • CARDSTREAM_TRACKER_URL — o vitTracker .onnx opcional (padrão: o zoo do OpenCV)
Verificar

Confira a instalação

O script confere o wheel com o SHA256SUMS da versão antes de instalar qualquer coisa. Depois, uma flag confirma o que está na sua máquina:

$ cardstream-web --version
cardstream 0.5.0

Baixou os artefatos por conta própria? Confira do mesmo jeito que o script faz: shasum -a 256 -c SHA256SUMS.

Download manual

Direto da versão publicada

O pacote está no PyPI, e cada release no GitHub traz o mesmo wheel e o sdist ao lado de um SHA256SUMS. Um único wheel em Python puro cobre todas as plataformas:

$ pip install 'cardstream[client,onnx]'

Windows

O script de instalação é só para POSIX; no Windows, instale pelo PyPI, descompacte os tarballs de pesos de cada modelo da release de modelos e aponte as flags para eles:

> py -3.11 -m venv cardstream-env
> cardstream-env\Scripts\activate
> pip install 'cardstream[client,onnx]'
> set XIMILAR_API_KEY=your-key
> cardstream-web --segmentor-model models\segmentation_model\onnx\model.onnx ^
    --embed-model models\similarity_model\onnx\model.onnx
Comparar

Escolha o seu caminho

Caminho Melhor quando Primeira verificação
Script de instalação Você quer a configuração mais rápida no localhost: venv, pesos dos modelos e shims no PATH, tudo resolvido por você. cardstream-web --version
Docker Um host limpo, ou receber o envio do OBS em uma máquina perto do encoder. curl -s http://127.0.0.1:8001/mode
Compilar do código-fonte Você está mexendo no código. pytest -q tests/core/test_engine.py
Docker

Rode em um contêiner

A imagem baixa os pesos dos modelos para um volume na primeira execução e inicia o cliente web. Construa a partir do Dockerfile do repositório:

$ git clone https://github.com/Ximilar-com/cardstream && cd cardstream
$ docker build -t cardstream .
$ docker run --rm -e XIMILAR_API_KEY -p 127.0.0.1:8001:8001 \
    -v cardstream-models:/models cardstream

Internamente, o contêiner escuta em 0.0.0.0. Publique a porta somente em 127.0.0.1, como acima. O app não tem autenticação e guarda a sua chave da API da Ximilar; nunca exponha para a rede local nem para a internet.

Código-fonte

Compile do código-fonte

Um checkout, um script e a suíte de testes offline como primeira verificação. --models também baixa os pesos.

$ git clone https://github.com/Ximilar-com/cardstream && cd cardstream
$ ./scripts/build-from-source.sh --models
$ source .venv/bin/activate
$ cardstream-web --version