Skip to content

frosskiel/cuitonline

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cuitonline es cliente no oficial para el sitio cuitonline.com basado en scraping. Podés usarla tanto como una CLI (interfaz de línea de comandos) o como una biblioteca Python.

Permite realizar búsquedas de personas (por ahora físicas) por nombre, CUIT, DNI, etc. y obtener información básica estructurada como dirección, localidad, provincia, etc. La linea de comando devuelve los resultados como json a la salida estándar, por lo que es fácil de integrar con otras herramientas.

Uso como CLI

Para un uso rápido ejecutalo con uvx (comando que es parte de uv):

uvx cuitonline "criterio de búsqueda" [--pagina <número_de_página>]

Si quieres instalar el CLI permantentemente:

uv tool install cuitonline

y luego usa directamente cuitonline desde tu terminal.

Por supuesto, puedes usar pipx, pip o cualquier otro gestor de paquetes python.

Ejemplos

Para filtrar los resultados, puedes usar jq. Por ejemplo podés encontrar a Dios en Rosario:

cuitonline "lionel messi" | jq '.[] | select(.localidad | contains("Rosario"))'

Uso como biblioteca

Puedes agregar cuitonline como depedendencia de tu proyecto Python y realizar búsquedas y procesar los datos obtenidos.

  1. search(criterio: str, pagina: int = 1) -> List[Persona]

    • Realiza una búsqueda en CUIT Online.
    • Parámetros:
      • criterio: Texto a buscar (nombre, CUIT, DNI, etc.).
      • pagina: Número de página para buscar (por defecto, 1).
    • Retorno: Lista de objetos Persona.
  2. Persona Es el modelo Pydantic para representar información de una persona.

    • Atributos principales:
      • nombre: Nombre completo.
      • cuit: Número de CUIT.
      • dni: Inferido desde el cuit.
      • tipo_persona: Tipo de persona (física o jurídica).
      • genero, direccion, provincia, localidad, nacionalidad, monotributo, empleador: son detalles adicionales que se cargan (haciendo un request extra) bajo demanda.
import cuitonline

# Buscar personas con un criterio específico
personas = cuitonline.search("Gaitan martin emilio", pagina=1)

# Imprimir información básica
for persona in personas:
    print(f"Nombre: {persona.nombre}, CUIT: {persona.cuit}")

# Acceder a detalles adicionales
for persona in personas:
    print(f"Dirección: {persona.direccion}, Género: {persona.genero}")

Contribuciones

¡Las contribuciones son bienvenidas! Si encuentras problemas o quieres agregar funcionalidades, abre un issue o un pull request en el repositorio.

Licencia

MIT License.

About

CLI y biblioteca Python de cuitonline.com. No oficial.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%