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)
- Construir el paquete:
python -m build
- Subir a PyPI:
python -m twine upload dist/*
- Instalar desde PyPI:
pip install dynamics-odata-client
🧾 Licencia
MIT License - Libre uso para proyectos personales y comerciales.
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
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52762369b9846c2c09f77b4cd9f7f99c4e929552f1a45042d55799d21bf7acbc
|
|
| MD5 |
6d04a3f39710e3ff8f774b583c979356
|
|
| BLAKE2b-256 |
89ecfd90823ea8e1144fb58efc794a07fb6cf1d234011426d16219aa81fe2e48
|