Skip to main content

New level of functionality and performance in data access via Python

Project description

Python Connector for Dynamics 365

Python Connector for Dynamics 365 is a connectivity solution for accessing Dynamics 365 Customer Engagement (formerly Dynamics CRM) from Python applications to read and update data. It fully implements the Python DB API 2.0 specification. The connector is distributed as a wheel package for Windows, macOS, and Linux.

Standard SQL syntax

The connector fully supports the ANSI SQL standard and lets you execute SQL statements against your Dynamics 365 data just like you would normally work with relational databases. Simple queries are directly converted to Dynamics 365 API calls and executed on the Dynamics 365 side. Complex queries are transformed into simpler queries, which are then converted to Dynamics 365 API calls. The embedded SQL engine then processes the results in the local cache and applies advanced SQL features from the original complex query.

Using the connector

To retrieve data from a database:

Import the module.

import devart.dynamics365

Connect to a database using the connect() module method and obtain a connection object: If you're using basic authentication:

my_connection = devart.dynamics365.connect(
    Authentication="Basic",
    Server="your_dynamics365_url",
    UserId="your_username",
    Password="your_password"
)

If you're using OAuth 2.0 authentication and have a refresh token:

my_connection = devart.dynamics365.connect(
    Authentication="OAuth",
    Server="your_dynamics365_url",
    RefreshToken="your_refresh_token"
)

If you're using OAuth 2.0 authentication and don't have a refresh token:

response = devart.dynamics365.signin(Server="your_dynamics365_url")
my_connection = devart.dynamics365.connect(
    Authentication="OAuth",
    Server="your_dynamics365_url",
    RefreshToken=response["Refresh Token"]
)

Create a cursor object using the cursor() connection method.

my_cursor = my_connection.cursor()

Execute the SQL statement using the execute() cursor method.

my_cursor.execute("SELECT * FROM employees")

Retrieve the result set using one of the fetch*() cursor methods.

for row in my_cursor.fetchall(): 
    print(row)

Ordering and activating the license

You can purchase a license for the connector on the ordering page:
https://www.devart.com/python/dynamics365/ordering.html

To activate the license, follow the instructions in the documentation:
https://docs.devart.com/python/dynamics365/activate-a-license.htm

What's new

Python Connector for Dynamics 365 1.1

  • Added metadata caching
  • Added connection pooling
  • Added activation with a license key
  • Added the subscription license type

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

devart_dynamics365_connector-1.1.0-cp312-cp312-win_amd64.whl (40.4 MB view hashes)

Uploaded CPython 3.12 Windows x86-64

devart_dynamics365_connector-1.1.0-cp312-cp312-win32.whl (37.1 MB view hashes)

Uploaded CPython 3.12 Windows x86

devart_dynamics365_connector-1.1.0-cp312-cp312-manylinux_2_34_x86_64.whl (39.2 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.34+ x86-64

devart_dynamics365_connector-1.1.0-cp312-cp312-macosx_10_9_universal2.whl (75.6 MB view hashes)

Uploaded CPython 3.12 macOS 10.9+ universal2 (ARM64, x86-64)

devart_dynamics365_connector-1.1.0-cp311-cp311-win_amd64.whl (40.4 MB view hashes)

Uploaded CPython 3.11 Windows x86-64

devart_dynamics365_connector-1.1.0-cp311-cp311-win32.whl (37.1 MB view hashes)

Uploaded CPython 3.11 Windows x86

devart_dynamics365_connector-1.1.0-cp311-cp311-manylinux_2_34_x86_64.whl (39.2 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.34+ x86-64

devart_dynamics365_connector-1.1.0-cp311-cp311-macosx_10_9_universal2.whl (75.6 MB view hashes)

Uploaded CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)

devart_dynamics365_connector-1.1.0-cp310-cp310-win_amd64.whl (40.4 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

devart_dynamics365_connector-1.1.0-cp310-cp310-win32.whl (37.1 MB view hashes)

Uploaded CPython 3.10 Windows x86

devart_dynamics365_connector-1.1.0-cp310-cp310-manylinux_2_34_x86_64.whl (39.2 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.34+ x86-64

devart_dynamics365_connector-1.1.0-cp310-cp310-macosx_10_9_universal2.whl (75.6 MB view hashes)

Uploaded CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)

devart_dynamics365_connector-1.1.0-cp39-cp39-win_amd64.whl (40.4 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

devart_dynamics365_connector-1.1.0-cp39-cp39-win32.whl (37.1 MB view hashes)

Uploaded CPython 3.9 Windows x86

devart_dynamics365_connector-1.1.0-cp39-cp39-manylinux_2_34_x86_64.whl (39.2 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.34+ x86-64

devart_dynamics365_connector-1.1.0-cp39-cp39-macosx_10_9_universal2.whl (75.6 MB view hashes)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

devart_dynamics365_connector-1.1.0-cp38-cp38-win_amd64.whl (40.4 MB view hashes)

Uploaded CPython 3.8 Windows x86-64

devart_dynamics365_connector-1.1.0-cp38-cp38-win32.whl (37.1 MB view hashes)

Uploaded CPython 3.8 Windows x86

devart_dynamics365_connector-1.1.0-cp38-cp38-manylinux_2_34_x86_64.whl (39.2 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.34+ x86-64

devart_dynamics365_connector-1.1.0-cp38-cp38-macosx_10_9_universal2.whl (75.6 MB view hashes)

Uploaded CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64)

devart_dynamics365_connector-1.1.0-cp37-cp37m-win_amd64.whl (40.4 MB view hashes)

Uploaded CPython 3.7m Windows x86-64

devart_dynamics365_connector-1.1.0-cp37-cp37m-win32.whl (37.1 MB view hashes)

Uploaded CPython 3.7m Windows x86

devart_dynamics365_connector-1.1.0-cp37-cp37m-manylinux_2_34_x86_64.whl (39.2 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.34+ x86-64

devart_dynamics365_connector-1.1.0-cp37-cp37m-macosx_10_9_x86_64.whl (73.9 MB view hashes)

Uploaded CPython 3.7m macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page