Skip to main content

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 PyPI

Instalar con pipx:

pipx install oneway-cli

Alternativa con uv:

uv tool install oneway-cli

Alternativa con pip:

python -m pip install --user oneway-cli

Actualizar una instalación existente:

pipx upgrade oneway-cli
uv tool upgrade oneway-cli

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 proyecto está disponible en PyPI y las releases de GitHub incluyen sus notas de versión.

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.

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.3.tar.gz (23.2 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.3-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: oneway_cli-0.4.3.tar.gz
  • Upload date:
  • Size: 23.2 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.3.tar.gz
Algorithm Hash digest
SHA256 e58f20ef1c19cb736e23adadbccd89495e97c53d20952d5171636ae97e8ec08f
MD5 9d1a9b937d33b8f2df4fff241bc4b2d1
BLAKE2b-256 4eb9706e116a2becab90fe8bb0db6491a52952308772b2ca2a00ad4db2ca984a

See more details on using hashes here.

Provenance

The following attestation bundles were made for oneway_cli-0.4.3.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.3-py3-none-any.whl.

File metadata

  • Download URL: oneway_cli-0.4.3-py3-none-any.whl
  • Upload date:
  • Size: 16.3 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e267d511288afcf4ba4cdb1f58e448f3fa24558a348f206b159b449bc093fc6d
MD5 e74a21afc83d25c44130f3285ed1d29f
BLAKE2b-256 3a2ee4167707af2b89d89a4d65bf6a02b6bd412f42614107b013188561975e07

See more details on using hashes here.

Provenance

The following attestation bundles were made for oneway_cli-0.4.3-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