Skip to content

Commit 9f78a27

Browse files
cepedusjahnvi480
andauthored
FIX: add explicit exports from main library module (#494)
### Issue Reference <!-- IMPORTANT: Please follow the PR template guidelines below. For mssql-python maintainers: Insert your ADO Work Item ID below For external contributors: Insert Github Issue number below Only one reference is required - either GitHub issue OR ADO Work Item. --> <!-- External contributors: GitHub Issue --> > GitHub Issue: #489 ------------------------------------------------------------------- ### Summary <!-- Insert your summary of changes below. Minimum 10 characters required. --> Adds `__all__` to `__init__.py` listing all public symbols currently imported into the module. This allows to import any already public object directly from the root module, without worrying about the internal package structure. This change also makes the tutorial snippets `mypy`-compliant <!-- ### PR Title Guide > For feature requests FEAT: (short-description) > For non-feature requests like test case updates, config updates , dependency updates etc CHORE: (short-description) > For Fix requests FIX: (short-description) > For doc update requests DOC: (short-description) > For Formatting, indentation, or styling update STYLE: (short-description) > For Refactor, without any feature changes REFACTOR: (short-description) > For release related changes, without any feature changes RELEASE: #<RELEASE_VERSION> (short-description) ### Contribution Guidelines External contributors: - Create a GitHub issue first: https://github.com/microsoft/mssql-python/issues/new - Link the GitHub issue in the "GitHub Issue" section above - Follow the PR title format and provide a meaningful summary mssql-python maintainers: - Create an ADO Work Item following internal processes - Link the ADO Work Item in the "ADO Work Item" section above - Follow the PR title format and provide a meaningful summary --> Co-authored-by: Jahnvi Thakkar <61936179+jahnvi480@users.noreply.github.com>
1 parent d51c5d4 commit 9f78a27

1 file changed

Lines changed: 215 additions & 0 deletions

File tree

mssql_python/__init__.py

Lines changed: 215 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,221 @@ def _cleanup_connections():
293293
SQL_IC_MIXED,
294294
)
295295

296+
__all__ = [
297+
# Exception classes
298+
"Warning",
299+
"Error",
300+
"InterfaceError",
301+
"DatabaseError",
302+
"DataError",
303+
"OperationalError",
304+
"IntegrityError",
305+
"InternalError",
306+
"ProgrammingError",
307+
"NotSupportedError",
308+
"ConnectionStringParseError",
309+
# Type objects and functions
310+
"Date",
311+
"Time",
312+
"Timestamp",
313+
"DateFromTicks",
314+
"TimeFromTicks",
315+
"TimestampFromTicks",
316+
"Binary",
317+
"STRING",
318+
"BINARY",
319+
"NUMBER",
320+
"DATETIME",
321+
"ROWID",
322+
# Connection and cursor classes
323+
"connect",
324+
"Connection",
325+
"Cursor",
326+
"Row",
327+
# Settings
328+
"Settings",
329+
"get_settings",
330+
# Logging
331+
"logger",
332+
"setup_logging",
333+
"driver_logger",
334+
# Decimal functions
335+
"setDecimalSeparator",
336+
"getDecimalSeparator",
337+
# Pooling
338+
"pooling",
339+
"PoolingManager",
340+
# Constants - Enum classes
341+
"AuthType",
342+
"SQLTypes",
343+
"get_info_constants",
344+
# SQL Type constants
345+
"SQL_CHAR",
346+
"SQL_VARCHAR",
347+
"SQL_LONGVARCHAR",
348+
"SQL_WCHAR",
349+
"SQL_WVARCHAR",
350+
"SQL_WLONGVARCHAR",
351+
"SQL_DECIMAL",
352+
"SQL_NUMERIC",
353+
"SQL_BIT",
354+
"SQL_TINYINT",
355+
"SQL_SMALLINT",
356+
"SQL_INTEGER",
357+
"SQL_BIGINT",
358+
"SQL_REAL",
359+
"SQL_FLOAT",
360+
"SQL_DOUBLE",
361+
"SQL_BINARY",
362+
"SQL_VARBINARY",
363+
"SQL_LONGVARBINARY",
364+
"SQL_DATE",
365+
"SQL_TIME",
366+
"SQL_TIMESTAMP",
367+
"SQL_TYPE_DATE",
368+
"SQL_TYPE_TIME",
369+
"SQL_TYPE_TIMESTAMP",
370+
"SQL_GUID",
371+
"SQL_XML",
372+
# Connection attribute constants
373+
"SQL_ATTR_ACCESS_MODE",
374+
"SQL_ATTR_CONNECTION_TIMEOUT",
375+
"SQL_ATTR_CURRENT_CATALOG",
376+
"SQL_ATTR_LOGIN_TIMEOUT",
377+
"SQL_ATTR_PACKET_SIZE",
378+
"SQL_ATTR_TXN_ISOLATION",
379+
# Transaction isolation levels
380+
"SQL_TXN_READ_UNCOMMITTED",
381+
"SQL_TXN_READ_COMMITTED",
382+
"SQL_TXN_REPEATABLE_READ",
383+
"SQL_TXN_SERIALIZABLE",
384+
# Access modes
385+
"SQL_MODE_READ_WRITE",
386+
"SQL_MODE_READ_ONLY",
387+
# Special constants
388+
"SQL_WMETADATA",
389+
# GetInfo constants
390+
"SQL_DRIVER_NAME",
391+
"SQL_DRIVER_VER",
392+
"SQL_DRIVER_ODBC_VER",
393+
"SQL_DRIVER_HLIB",
394+
"SQL_DRIVER_HENV",
395+
"SQL_DRIVER_HDBC",
396+
"SQL_DATA_SOURCE_NAME",
397+
"SQL_DATABASE_NAME",
398+
"SQL_SERVER_NAME",
399+
"SQL_USER_NAME",
400+
"SQL_SQL_CONFORMANCE",
401+
"SQL_KEYWORDS",
402+
"SQL_IDENTIFIER_CASE",
403+
"SQL_IDENTIFIER_QUOTE_CHAR",
404+
"SQL_SPECIAL_CHARACTERS",
405+
"SQL_SQL92_ENTRY_SQL",
406+
"SQL_SQL92_INTERMEDIATE_SQL",
407+
"SQL_SQL92_FULL_SQL",
408+
"SQL_SUBQUERIES",
409+
"SQL_EXPRESSIONS_IN_ORDERBY",
410+
"SQL_CORRELATION_NAME",
411+
"SQL_SEARCH_PATTERN_ESCAPE",
412+
"SQL_CATALOG_TERM",
413+
"SQL_CATALOG_NAME_SEPARATOR",
414+
"SQL_SCHEMA_TERM",
415+
"SQL_TABLE_TERM",
416+
"SQL_PROCEDURES",
417+
"SQL_ACCESSIBLE_TABLES",
418+
"SQL_ACCESSIBLE_PROCEDURES",
419+
"SQL_CATALOG_NAME",
420+
"SQL_CATALOG_USAGE",
421+
"SQL_SCHEMA_USAGE",
422+
"SQL_COLUMN_ALIAS",
423+
"SQL_DESCRIBE_PARAMETER",
424+
"SQL_TXN_CAPABLE",
425+
"SQL_TXN_ISOLATION_OPTION",
426+
"SQL_DEFAULT_TXN_ISOLATION",
427+
"SQL_MULTIPLE_ACTIVE_TXN",
428+
"SQL_TXN_ISOLATION_LEVEL",
429+
"SQL_NUMERIC_FUNCTIONS",
430+
"SQL_STRING_FUNCTIONS",
431+
"SQL_DATETIME_FUNCTIONS",
432+
"SQL_SYSTEM_FUNCTIONS",
433+
"SQL_CONVERT_FUNCTIONS",
434+
"SQL_LIKE_ESCAPE_CLAUSE",
435+
"SQL_MAX_COLUMN_NAME_LEN",
436+
"SQL_MAX_TABLE_NAME_LEN",
437+
"SQL_MAX_SCHEMA_NAME_LEN",
438+
"SQL_MAX_CATALOG_NAME_LEN",
439+
"SQL_MAX_IDENTIFIER_LEN",
440+
"SQL_MAX_STATEMENT_LEN",
441+
"SQL_MAX_CHAR_LITERAL_LEN",
442+
"SQL_MAX_BINARY_LITERAL_LEN",
443+
"SQL_MAX_COLUMNS_IN_TABLE",
444+
"SQL_MAX_COLUMNS_IN_SELECT",
445+
"SQL_MAX_COLUMNS_IN_GROUP_BY",
446+
"SQL_MAX_COLUMNS_IN_ORDER_BY",
447+
"SQL_MAX_COLUMNS_IN_INDEX",
448+
"SQL_MAX_TABLES_IN_SELECT",
449+
"SQL_MAX_CONCURRENT_ACTIVITIES",
450+
"SQL_MAX_DRIVER_CONNECTIONS",
451+
"SQL_MAX_ROW_SIZE",
452+
"SQL_MAX_USER_NAME_LEN",
453+
"SQL_ACTIVE_CONNECTIONS",
454+
"SQL_ACTIVE_STATEMENTS",
455+
"SQL_DATA_SOURCE_READ_ONLY",
456+
"SQL_NEED_LONG_DATA_LEN",
457+
"SQL_GETDATA_EXTENSIONS",
458+
"SQL_CURSOR_COMMIT_BEHAVIOR",
459+
"SQL_CURSOR_ROLLBACK_BEHAVIOR",
460+
"SQL_CURSOR_SENSITIVITY",
461+
"SQL_BOOKMARK_PERSISTENCE",
462+
"SQL_DYNAMIC_CURSOR_ATTRIBUTES1",
463+
"SQL_DYNAMIC_CURSOR_ATTRIBUTES2",
464+
"SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1",
465+
"SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2",
466+
"SQL_STATIC_CURSOR_ATTRIBUTES1",
467+
"SQL_STATIC_CURSOR_ATTRIBUTES2",
468+
"SQL_KEYSET_CURSOR_ATTRIBUTES1",
469+
"SQL_KEYSET_CURSOR_ATTRIBUTES2",
470+
"SQL_SCROLL_OPTIONS",
471+
"SQL_SCROLL_CONCURRENCY",
472+
"SQL_FETCH_DIRECTION",
473+
"SQL_ROWSET_SIZE",
474+
"SQL_CONCURRENCY",
475+
"SQL_ROW_NUMBER",
476+
"SQL_STATIC_SENSITIVITY",
477+
"SQL_BATCH_SUPPORT",
478+
"SQL_BATCH_ROW_COUNT",
479+
"SQL_PARAM_ARRAY_ROW_COUNTS",
480+
"SQL_PARAM_ARRAY_SELECTS",
481+
"SQL_PROCEDURE_TERM",
482+
"SQL_POSITIONED_STATEMENTS",
483+
"SQL_GROUP_BY",
484+
"SQL_OJ_CAPABILITIES",
485+
"SQL_ORDER_BY_COLUMNS_IN_SELECT",
486+
"SQL_OUTER_JOINS",
487+
"SQL_QUOTED_IDENTIFIER_CASE",
488+
"SQL_CONCAT_NULL_BEHAVIOR",
489+
"SQL_NULL_COLLATION",
490+
"SQL_ALTER_TABLE",
491+
"SQL_UNION",
492+
"SQL_DDL_INDEX",
493+
"SQL_MULT_RESULT_SETS",
494+
"SQL_OWNER_USAGE",
495+
"SQL_QUALIFIER_USAGE",
496+
"SQL_TIMEDATE_ADD_INTERVALS",
497+
"SQL_TIMEDATE_DIFF_INTERVALS",
498+
"SQL_IC_UPPER",
499+
"SQL_IC_LOWER",
500+
"SQL_IC_SENSITIVE",
501+
"SQL_IC_MIXED",
502+
# API level globals
503+
"apilevel",
504+
"paramstyle",
505+
"threadsafety",
506+
# Module properties
507+
"lowercase",
508+
"native_uuid",
509+
]
510+
296511

297512
def pooling(max_size: int = 100, idle_timeout: int = 600, enabled: bool = True) -> None:
298513
"""

0 commit comments

Comments
 (0)