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/dynamics/ordering.html
To activate the license, follow the instructions in the documentation:
https://docs.devart.com/python/dynamics/activate-a-license.htm
What's new
Python Connector for Dynamics 365 1.2
- Added support for Python 3.13
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 Distributions
Built Distributions
Hashes for devart_dynamics365_connector-1.2.0-cp313-cp313-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d8bef1066b47bf2a4349f98cfcd108b59e708defe34d2b859f5a360ddfd92e9 |
|
MD5 | c6f391f79693477a25764083ef53bdcc |
|
BLAKE2b-256 | 40df9e9a10990f462d616cce731a9c22c931159d6351908d30b15ac097c3d256 |
Hashes for devart_dynamics365_connector-1.2.0-cp313-cp313-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49ac5b8b3b9c695dbf7da62d2e1e07546577e604e4a0b9fdb0aeca94a6be0285 |
|
MD5 | 110c61e5e86deaf3a0b8d3416821d594 |
|
BLAKE2b-256 | eb67d9e591c8829a9da815a04f1888a74d5de5f764fa646df4c74e0a16bbebc7 |
Hashes for devart_dynamics365_connector-1.2.0-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af0ff326f2a99fb08cbb5054ec06397e99bf8831ceb5d5171575164d76cb9e4b |
|
MD5 | f6d94055be7a3282e4265dfc6b55e818 |
|
BLAKE2b-256 | 7f28fe2face18531402de8c1f339fe528f8ae12192c1562150e509d76050dd92 |
Hashes for devart_dynamics365_connector-1.2.0-cp313-cp313-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9635e7e3ec7bc7656ecbfd9048adcb25fd0d2c4f79777740520a8a63b77eee72 |
|
MD5 | 0a593620f9de72cb8b08271049b24da7 |
|
BLAKE2b-256 | 1a80ebd62d61a5c218e0b7e021f0f805985e03fbc7e41df6ff5fcd9e9edf7d7b |
Hashes for devart_dynamics365_connector-1.2.0-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6117b62c037462f5720264c362e0ec6d70647f66c9f34bc8f5cff29dd298513 |
|
MD5 | ad7f61fa5722015468fac96707937bac |
|
BLAKE2b-256 | 67d070aeea18a662b8e5c1925a627774c171b5ab2e42191c9b23d27c363b3f6b |
Hashes for devart_dynamics365_connector-1.2.0-cp312-cp312-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b824672455e321293e04d04452be26f5f527f4ba8e45e9fba9ad407602f60266 |
|
MD5 | 8334d578e9b7e9f0f27916c9d88cabcf |
|
BLAKE2b-256 | 5b0c1b213c00176fb5e9ffbfd41642042c75664fc8c081a5c44aeb0f9d6caa2e |
Hashes for devart_dynamics365_connector-1.2.0-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c268b575693599de3c058e0e36e83dbab31a482a63c8ba93e12ee10e7dfa3b64 |
|
MD5 | e153e7b09a2cfaa151a203c1b752b541 |
|
BLAKE2b-256 | 7d240de56d0ddb060076a4592ac23b48d0d2074f1dec3273e5dbd0f9fe90ad84 |
Hashes for devart_dynamics365_connector-1.2.0-cp312-cp312-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5d4573a63d940a613b0880a97dace7489bb9ba7b1f3b334dbc7332dc5aa8045 |
|
MD5 | 1a12e7f4fefb62543bfd17bb33f431d1 |
|
BLAKE2b-256 | c406a7345a6d17369154043b9bd1b47b0e6cb057e518861f5cc8bd19c65e08be |
Hashes for devart_dynamics365_connector-1.2.0-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab9a3b8172658bbd9f6e7ddb34d2676290012d56708bd9fa2339b074f39645d5 |
|
MD5 | f0dba529117d4931f1631966ccea2b0c |
|
BLAKE2b-256 | d0d3f6a96d2520e748e96a0409f85499f1f6c937b3713049a8c09971f05d1ec8 |
Hashes for devart_dynamics365_connector-1.2.0-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c271ca9e4994167c8987e95f442e77f8f62d9256ce602dd1306fb8ff7bf3c215 |
|
MD5 | 0819b22f44c7392a99e053365b58e2ae |
|
BLAKE2b-256 | 9ec5f486393534bb3f502fbfe737541b9fbe0bd064dc1e53a4d8cfa3e44eec27 |
Hashes for devart_dynamics365_connector-1.2.0-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08ee3b25a25cad60eb00ba0b6f89604e563f4590257167ec212ca27de19cfb6e |
|
MD5 | b75587e7bc6a8ee94bc5559ee22c4add |
|
BLAKE2b-256 | 2998194ffdc07b1974ee6c1600c43a4ce1370815905f5595a287f630a4628846 |
Hashes for devart_dynamics365_connector-1.2.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b1f25732b52454f83f750969fd47fb165cd8ab3d386c06a6ed966a5f4e169e2 |
|
MD5 | 0250517949a44dcdffa7cb51570304c7 |
|
BLAKE2b-256 | 9f5f250eeb839c85940acc0ae4a27c4aa70d0d4e4ed2facfc4edd0fda91f9dff |
Hashes for devart_dynamics365_connector-1.2.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f7ac181f33a7944b1cb7154a49c37d2ca5f628a3e9fe71415a6818fcbd47e02 |
|
MD5 | 53940becd029207a61dbcddc1450131a |
|
BLAKE2b-256 | 80c42938a90ea1d6dc5e5ab22affc0dc0fc5f27eaf8ecce5e6fa576dba91ef43 |
Hashes for devart_dynamics365_connector-1.2.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 106078a5afebc8198ab3c10a888eddfed43091a4050cbd1108a3ff44cbec981d |
|
MD5 | 5ed216f4287c76a81a9d5a33d1607831 |
|
BLAKE2b-256 | ae8d128d6d40767cb278c8c72b496c1ff4362a9d1af728f8c602bb173f7cedbe |
Hashes for devart_dynamics365_connector-1.2.0-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 542e49fa6ee4fc8048a79b4ab6bf4be41022c936c0938fdcf994e0b094841421 |
|
MD5 | b26780a954a92408f44dafd5c7bb8ba8 |
|
BLAKE2b-256 | 065c385d145ab0ffaba672a9706a285ed318e4749258c2adc4544ad171dbcaa8 |
Hashes for devart_dynamics365_connector-1.2.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d0620ac198d3deb236ad98825c3cc0097ddd08070a16283e2749afee7ce36f2 |
|
MD5 | 7e577381210ce1b9c8205d7c74ee9757 |
|
BLAKE2b-256 | 0aff162369d78e6de814c9c297159d619fbcb39322c49e224dec103a33d06262 |
Hashes for devart_dynamics365_connector-1.2.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2ede7f364d40811acafda2b24d2fd0bfdd0fb3d2af3747f0aa7ddb5faf57a6f |
|
MD5 | 7052f35be4ae45a5b74765aabf621885 |
|
BLAKE2b-256 | e525ad0eb739b4a476dfca755696b56d61a085f10c5739918dcf8d548c395b51 |
Hashes for devart_dynamics365_connector-1.2.0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 132bf1aba315ae42182de2d4e443c5452b263539837936d27c716c469773c1fd |
|
MD5 | c1ac85060ad058458b957740c1e50ed6 |
|
BLAKE2b-256 | 95e1253e5d454c087f9d8251e71f667a8f9f05ef99663a1a990dae5931b84662 |
Hashes for devart_dynamics365_connector-1.2.0-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da2fd3cc395857c535eafaaf3a2db59688810111736008f7827070598d94e80b |
|
MD5 | 48f00f580efc7758ebc331b1e7e53299 |
|
BLAKE2b-256 | 89dde8b512886cf68e34db95033f5b69df734aed5adbc74da1d321c434c39719 |
Hashes for devart_dynamics365_connector-1.2.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51b96a7c3e4a8c2a61bfbba2ed3a25567c0c87721cdd7f0947ed17a762edc1d0 |
|
MD5 | c8e1024ee77dcaddaec238c51302fe1d |
|
BLAKE2b-256 | fe431e05ca986cd3800f6ef128d4f0f301693d39590ac9dc33f136c66d723a59 |
Hashes for devart_dynamics365_connector-1.2.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04db5c7b98c795b5139152de4451a5997dc783ab699e51545faf155bb76009e3 |
|
MD5 | 51c6790bb88d74e75fe08c80e353fd3c |
|
BLAKE2b-256 | 0667b650cdae1a368ed7a2d6c29f5018279808ad6d6e73326bc134e4ccd58cdd |
Hashes for devart_dynamics365_connector-1.2.0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6da96d9d28a2dd6d9ee6594959a69294b2e0f0185c9f9f492fa944b7d8b773a2 |
|
MD5 | 19b933c917beb330aab3b5d9b7ee9f2e |
|
BLAKE2b-256 | 484d21a4d7f1981c5e24f4291c8c3c5c8f91208b9571273e63c5ec3caa75b3a8 |
Hashes for devart_dynamics365_connector-1.2.0-cp38-cp38-manylinux_2_34_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c4f69add9c49de1278f724c8a6f15b267b69ef501591324ee01886cfdee80fa |
|
MD5 | 7e6ede59228f53348f3aabeab4e5b761 |
|
BLAKE2b-256 | b9c53139b92273115a4796f35394217639713d343326d148edb5747711b09938 |
Hashes for devart_dynamics365_connector-1.2.0-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc15d463835b77e8c95641a7fbc2a9dfecc0cd609ddf13797de2ee890c84d8d0 |
|
MD5 | c49afda45f186d40ef4d119370068e2b |
|
BLAKE2b-256 | d64a72ada588b2851d2d98e9ae365a91c299bd6d9eb650bc1a4a1c3a3ec41787 |
Hashes for devart_dynamics365_connector-1.2.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7adb771c0da6f345f7f391f0228ee8a3ab71b289ec9c874a06b324bccecf3eee |
|
MD5 | a139ccba8769274e80572ebd0fcd3c06 |
|
BLAKE2b-256 | 48508d7c250f1579f613548732f52141ab701d1d848aa02c06fe99dbc125ef83 |
Hashes for devart_dynamics365_connector-1.2.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3be6bea870503cfa75e16879b96e39f59d8244439c9c8bcfb36ca2f716e9522a |
|
MD5 | 93df89a9ad8ac91176f77f15ceba52cf |
|
BLAKE2b-256 | 9477d966dbdbe1996a0bfedafc297306d272559fc9b1e17cdaa797649329ea73 |
Hashes for devart_dynamics365_connector-1.2.0-cp37-cp37m-manylinux_2_34_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14d55098715452094950a4ca800663e9da4486d0bfc34a6c27b16f88185d083e |
|
MD5 | fc3ec70b9fa82fcf78aed7dbde3a28df |
|
BLAKE2b-256 | aab40f6c35e1df01c8a0bf9f599c31590e30fbc10318faeb49ae87cb71c8a9df |
Hashes for devart_dynamics365_connector-1.2.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d92d7941b1a902db845651f1b1aa7a633b47423bdcc2a076c1a6347b9bb7e8b3 |
|
MD5 | c73a30e1e1ee93ba529c66a8ae4c58c3 |
|
BLAKE2b-256 | 2a52ef820e53335b10ba5517cfa6dbe39519bed4a3f5510c30db58b47552bdc7 |