Skip to main content

Cliente OData para Dynamics 365 con autenticación y exportación a DataFrame

Project description

🔗 dynamics_odata_client

Cliente OData para Dynamics 365, diseñado para conectarse fácilmente a la API OData con autenticación OAuth2, manejo automático de token, consultas paginadas y exportación directa a pandas.DataFrame.

Ideal para automatizar reportes, análisis o integraciones con Dynamics 365 desde Python.


🚀 Instalación

Instala el paquete directamente desde PyPI:

pip install dynamics-odata-client

O desde tu entorno local (para desarrollo):

pip install .

⚙️ Configuración

Este paquete requiere un archivo .env en la raíz del proyecto con las siguientes variables:

📁 .env (ejemplo)

DYNAMICS_BASE_URL=https://empresa.crm.dynamics.com
DYNAMICS_AUTH_URL=https://login.microsoftonline.com/tu_tenant_id/oauth2/token
CLIENT_ID=tu_client_id
CLIENT_SECRET=tu_client_secret
RETRIES=5
DELAY=2
TIMEOUT=10
BATCH_SIZE=100

También puedes consultar el archivo .env.example incluido en el paquete.


🧪 Ejemplo de uso

from dynamics_odata_client import DynamicsClient
import pandas as pd

# Crear cliente Dynamics (usa .env por defecto)
client = DynamicsClient()

# Definir entidad y filtros
entidad = "ReleasedProductCreationsV2"
query = "$select=ProductNumber,ProductDescription"

# Obtener los datos como DataFrame
df = client.get_data(entidad, query)

# Mostrar resultados
print(df.head())

📁 Estructura del paquete

Archivo / Carpeta Descripción
client.py Cliente principal para consultas OData y manejo de token
config.py Clase de configuración con parámetros dinámicos
config_loader.py Carga de configuración desde archivo .env
__init__.py Expone las clases principales del paquete
.env.example Plantilla de configuración para usuarios
setup.py Archivo de instalación del paquete
requirements.txt Dependencias necesarias

📥 Requisitos

  • Python >= 3.7
  • requests
  • pandas
  • python-dotenv

Instala las dependencias con:

pip install -r requirements.txt

📦 Publicación en PyPI (para desarrolladores)

  1. Construir el paquete:
python -m build
  1. Subir a PyPI:
python -m twine upload dist/*
  1. Instalar desde PyPI:
pip install dynamics-odata-client

🧾 Licencia

MIT License - Libre uso para proyectos personales y comerciales.

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

dynamics_odata_client-0.1.0.tar.gz (4.1 kB view details)

Uploaded Source

File details

Details for the file dynamics_odata_client-0.1.0.tar.gz.

File metadata

  • Download URL: dynamics_odata_client-0.1.0.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for dynamics_odata_client-0.1.0.tar.gz
Algorithm Hash digest
SHA256 52762369b9846c2c09f77b4cd9f7f99c4e929552f1a45042d55799d21bf7acbc
MD5 6d04a3f39710e3ff8f774b583c979356
BLAKE2b-256 89ecfd90823ea8e1144fb58efc794a07fb6cf1d234011426d16219aa81fe2e48

See more details on using hashes here.

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