Skip to main content

Command-line tools for One Way Cargo

Project description

oneway-cli logo

Python Typer Rich curl_cffi License

oneway-cli

CLI no oficial para consultar trackings, órdenes y alertas de cuentas One Way Cargo desde la terminal.

Uso rápido

# Iniciar sesión
ow-cli login

# Listar órdenes pendientes
ow-cli orders

# Consultar un tracking
ow-cli track <TRACKING>

# Crear una alerta
ow-cli create-alert <TRACKING> --type aereo

# Eliminar una alerta
ow-cli delete-alert <TRACKING> --type aereo

La primera vez que se ejecuta un comando protegido, el CLI solicita el correo y la contraseña de One Way Cargo. También se pueden definir las variables de entorno ONEWAY_EMAIL y ONEWAY_PASSWORD para ejecuciones no interactivas.

Instalación

Desde GitHub Releases

Instalar la rueda de la versión v0.4.1 directamente con pipx:

pipx install https://github.com/italovisconti/oneway-cli/releases/download/v0.4.1/oneway_cli-0.4.1-py3-none-any.whl

Alternativa con uv:

uv tool install https://github.com/italovisconti/oneway-cli/releases/download/v0.4.1/oneway_cli-0.4.1-py3-none-any.whl

Alternativa con pip:

python -m pip install --user https://github.com/italovisconti/oneway-cli/releases/download/v0.4.1/oneway_cli-0.4.1-py3-none-any.whl

Cada release usa una URL con su versión. Para instalar una versión posterior, ejecutar el mismo comando con la nueva URL y --force.

Desde el código fuente

git clone https://github.com/italovisconti/oneway-cli.git
cd oneway-cli
uv tool install .

Alternativa con pipx:

pipx install .

Verificar la instalación:

ow-cli --version
ow-cli --help

Autocompletado

Generar e instalar el script de autocompletado para el shell activo:

ow-cli --install-completion

Reiniciar la terminal o recargar el shell para activarlo.

Comandos principales

Órdenes

ow-cli orders
ow-cli orders --all
ow-cli orders --status "Por Pagar"
ow-cli orders --json

Muestra las órdenes principales del panel de cuentas. Cada fila representa una orden principal e incluye warehouse, tracking, estado, peso/volumen, llegadas a USA y Venezuela, cargos, reempaques y el total que devuelve la página.

La columna Cargos lista cada cargo con su etiqueta, monto y estado. La columna Reempaques muestra, por cada paquete reempacado, su tracking junto al monto original tachado. Al final se imprime el total general reportado por el panel.

Por defecto se ocultan las órdenes en estado pagado. Usar --all para incluirlas. Usar --status para filtrar por un estado exacto o parcial. --json devuelve un JSON anidado con órdenes, cargos, reempaques y el total.

Tracking

ow-cli track <TRACKING>
ow-cli track <TRACKING> --json

Muestra llegada a Miami y Venezuela, peso, dimensiones e historial de movimientos del tracking.

Alertas

ow-cli alerts <TRACKING>
ow-cli alerts <TRACKING> --json

Lista las alertas existentes del tracking.

Crear alerta

ow-cli create-alert <TRACKING> --type aereo
ow-cli create-alert <TRACKING> --type maritimo --yes
ow-cli create-alert <TRACKING> --type aereo --type compactar

Tipos disponibles:

Tipo Descripción
aereo Alerta aérea
maritimo Alerta marítima
compactar Solicitar compactar un paquete
verification Solicitar verificación de contenido
quotation Solicitar cotización
hold Solicitar retener un paquete

verification, quotation y hold requieren --accept-storage-fee cuando aplique un cargo de almacenamiento.

El CLI consulta las alertas existentes antes de crear una y evita duplicados del mismo tipo. Después del envío vuelve a consultarlas para confirmar la creación. El tipo repack aún no está disponible porque requiere enviar varios trackings y sus consentimientos en una sola operación.

Eliminar alerta

ow-cli delete-alert <TRACKING> --type aereo
ow-cli delete-alert <TRACKING> --type maritimo --yes

El comando requiere el tracking y un solo --type, pide confirmación por defecto y confirma en el sitio que la alerta haya desaparecido. Solo se elimina una alerta editable; si hay varias del mismo tipo para el tracking, el CLI evita una eliminación ambigua.

Sesión

ow-cli session-status
ow-cli logout
ow-cli logout --forget-credentials

logout elimina la sesión local, pero conserva el correo y la clave del llavero para poder iniciar sesión de nuevo. Con --forget-credentials también borra esas credenciales.

Requisitos

  • Python 3.11 o superior.
  • Cuenta activa de One Way Cargo.
  • Un llavero del sistema disponible: Keychain en macOS, Credential Manager en Windows o Secret Service en Linux.

Arquitectura

Typer CLI
  -> cliente HTTP curl_cffi
  -> One Way Cargo
  -> config platformdirs + credenciales keyring + caché privada de sesión

La autenticación respeta el campo temporal del formulario de login. Las operaciones protegidas detectan redirecciones al login y no declaran éxito hasta confirmar el resultado en el sitio. La sesión se almacena en caché durante una hora con renovación automática.

Estado

El repositorio es público y las releases están disponibles en GitHub. PyPI es el siguiente canal de publicación opcional.

Desarrollo

python -m pip install --user -e .
ow-cli --help

El paquete usa src/oneway_cli/, Typer para los comandos, Rich para la salida, BeautifulSoup para analizar listados HTML y curl_cffi para las solicitudes autenticadas.

Seguridad y privacidad

  • No incluir la contraseña en scripts, historial de shell ni repositorios.
  • El CLI usa la cuenta del usuario y realiza operaciones reales en el sitio.
  • El sitio puede cambiar formularios o endpoints sin aviso.
  • Revisar las condiciones de One Way Cargo antes de usar o redistribuir esta herramienta.

Licencia

MIT. Consulta LICENSE.

Este proyecto no está afiliado, respaldado ni patrocinado por One Way Cargo. Es una herramienta independiente desarrollada por terceros.

Project details


Download files

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

Source Distribution

oneway_cli-0.4.1.tar.gz (23.4 kB view details)

Uploaded Source

Built Distribution

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

oneway_cli-0.4.1-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

Details for the file oneway_cli-0.4.1.tar.gz.

File metadata

  • Download URL: oneway_cli-0.4.1.tar.gz
  • Upload date:
  • Size: 23.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for oneway_cli-0.4.1.tar.gz
Algorithm Hash digest
SHA256 1de94b5b07e91c9c6cb8f2a7d783b29adecc5d25a01014c6c46fb2cd36c8e4b4
MD5 70e166d79bd3a248ef042aed34b5374d
BLAKE2b-256 e0504f1d076c5f8756d808461ec20f890189bd60f07520bfe7e0e9f5ce3f6dab

See more details on using hashes here.

Provenance

The following attestation bundles were made for oneway_cli-0.4.1.tar.gz:

Publisher: publish-to-pypi.yml on italovisconti/oneway-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oneway_cli-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: oneway_cli-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 16.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for oneway_cli-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0e51ae2dea0b73e199c7b4a0ad6175999553da211e0cc600ed5cd88087f6e614
MD5 84fa556294b2da95da7321836446d1c3
BLAKE2b-256 8fb9ad9a70493fe8294746d8ca4e971dcd1b384c3289c5919079eb7a4f0d6f7d

See more details on using hashes here.

Provenance

The following attestation bundles were made for oneway_cli-0.4.1-py3-none-any.whl:

Publisher: publish-to-pypi.yml on italovisconti/oneway-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page