Skip to content

Commit 5daec76

Browse files
committed
ROADMAP.md
1 parent 842cfb4 commit 5daec76

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed

ROADMAP.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# Roadmap for Python Driver for SQL Server
2+
3+
We are thrilled to introduce our upcoming Python driver for SQL Server – a modern, high performant, and developer-friendly SDK designed to enhance your SQL Server database connectivity experience. This roadmap outlines the key structural improvements, new features and upcoming enhancements that will set our driver apart from existing solutions.
4+
5+
Why a New Driver?
6+
7+
Unlike existing Python SQL Server drivers, we are making substantial improvements to performance, maintainability, and usability by re-architecting the core internals. Our focus is on seamless integration between Python and C++, efficient memory management, better state handling, and advanced DBAPI enhancements.
8+
9+
Here’s what’s coming:
10+
11+
12+
1. Structural changes for abstraction of C++ and Python codebase
13+
14+
We are undertaking significant structural changes to provide a clear abstraction between C++ code and Python. This will ensure better maintainability, improved performance, and a cleaner codebase. By leveraging existing pybind11 module, we aim to create a seamless integration between the two languages, allowing for efficient execution and easier debugging.
15+
16+
This will improve:
17+
- Maintainability via simplified modular architecture
18+
- Performance via optimized C++ code
19+
- Debugging, traceability and seamless interaction between C++ and Python via with PyBind11 module integration
20+
21+
22+
2. Future DBAPI Enhancements
23+
24+
In future releases, we plan to add several DBAPI enhancements, including:
25+
- `Callproc()` : Support for calling stored procedures.
26+
- `setinputsize()` and `setoutputsize()`
27+
- `Output` and `InputOutput` Parameters: Handling of output and input-output parameters in stored procedures.
28+
- Optional DBAPIs: Additional optional DBAPI features to provide more flexibility and functionality for developers.
29+
30+
3. Connection Pooling
31+
32+
Connection pooling will be made available soon, allowing for efficient reuse of database connections. This feature will significantly improve performance by reducing the overhead associated with establishing new connections for each database operation .
33+
- Reduce Connection creation overhead
34+
- Improve scalability via efficient reuse of connections
35+
- Enhance multi-threaded operation performance
36+
37+
4. Cross-Platform Support: MacOS and Linux Distributions
38+
39+
We are committed to providing cross-platform support for our Python driver. In the next few months, we will release versions compatible with MacOS and various Linux distributions. This will enable developers to use the driver on their preferred operating systems without any compatibility issues.
40+
Soon, you will be able to:
41+
- Use the driver across multiple environments and OS
42+
- Deploy application on cloud-native platforms
43+
- Avoid compatibility issues with system-dependent code
44+
- Flexibility in choosing development environments
45+
46+
47+
5. Asynchronous Query Execution
48+
49+
We are also working on adding support for asynchronous query execution. This feature will allow developers to execute queries without blocking the main thread, enabling more responsive and efficient applications. Asynchronous query execution will be particularly beneficial for applications that require high concurrency and low latency .
50+
- No blocking of the main thread
51+
- Faster parallel processing – ideal for high-concurrency applications
52+
- Better integration with async frameworks like asyncio
53+
54+
55+
We are dedicated to continuously improving the Python driver for SQL Server and welcome feedback from the community. Stay tuned for updates and new features as we work towards delivering a high-quality driver that meets your needs.
56+
Join the Conversation!
57+
58+
We are building this for developers, with developers. Your feedback will shape the future of the driver.
59+
- Follow our [Github Repo](https://github.com/microsoft/mssql-python)>
60+
- Join Discussions – Share your ideas and suggestions
61+
- Try our alpha release – Help us refine and optimize the experience
62+
63+
Stay tuned for more updates, and lets build something amazing together.
64+
Watch this space for announcements and release timelines.
65+
66+
67+

0 commit comments

Comments
 (0)