Command-line tools for One Way Cargo
Project description
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.2 directamente con pipx:
pipx install https://github.com/italovisconti/oneway-cli/releases/download/v0.4.2/oneway_cli-0.4.2-py3-none-any.whl
Alternativa con uv:
uv tool install https://github.com/italovisconti/oneway-cli/releases/download/v0.4.2/oneway_cli-0.4.2-py3-none-any.whl
Alternativa con pip:
python -m pip install --user https://github.com/italovisconti/oneway-cli/releases/download/v0.4.2/oneway_cli-0.4.2-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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file oneway_cli-0.4.2.tar.gz.
File metadata
- Download URL: oneway_cli-0.4.2.tar.gz
- Upload date:
- Size: 23.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a545feb3e7469cf3106f97de039c3057d0fd5f62e84073af660864c7f37ca4ee
|
|
| MD5 |
75a139d25d1143d74bddd34e0edd7f5e
|
|
| BLAKE2b-256 |
f96a6bc5183e67dbe5a4c66d7e50a66af2621468370bb80f520a31be2d359afc
|
Provenance
The following attestation bundles were made for oneway_cli-0.4.2.tar.gz:
Publisher:
publish-to-pypi.yml on italovisconti/oneway-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
oneway_cli-0.4.2.tar.gz -
Subject digest:
a545feb3e7469cf3106f97de039c3057d0fd5f62e84073af660864c7f37ca4ee - Sigstore transparency entry: 2219788667
- Sigstore integration time:
-
Permalink:
italovisconti/oneway-cli@909849a863e70461ccc79ff338e3951a4d1e3acc -
Branch / Tag:
refs/tags/v0.4.2 - Owner: https://github.com/italovisconti
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@909849a863e70461ccc79ff338e3951a4d1e3acc -
Trigger Event:
release
-
Statement type:
File details
Details for the file oneway_cli-0.4.2-py3-none-any.whl.
File metadata
- Download URL: oneway_cli-0.4.2-py3-none-any.whl
- Upload date:
- Size: 16.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f20246da43aa109d7833e245f4336c53cf8664aea05e8c3e89dc74cfc9a41725
|
|
| MD5 |
c6894c0b8a36edcaed633935de566436
|
|
| BLAKE2b-256 |
a371843403d93b680165faf05ad4d2fcf10a361ad189ed47e6b0d55f2b75b350
|
Provenance
The following attestation bundles were made for oneway_cli-0.4.2-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on italovisconti/oneway-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
oneway_cli-0.4.2-py3-none-any.whl -
Subject digest:
f20246da43aa109d7833e245f4336c53cf8664aea05e8c3e89dc74cfc9a41725 - Sigstore transparency entry: 2219788722
- Sigstore integration time:
-
Permalink:
italovisconti/oneway-cli@909849a863e70461ccc79ff338e3951a4d1e3acc -
Branch / Tag:
refs/tags/v0.4.2 - Owner: https://github.com/italovisconti
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@909849a863e70461ccc79ff338e3951a4d1e3acc -
Trigger Event:
release
-
Statement type: