Skip to content
Open
Show file tree
Hide file tree
Changes from 11 commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
33e5cbb
add cysqlite
Vizonex Mar 10, 2026
3821fad
Merge branch 'main' into cysqlite
Vizonex Mar 10, 2026
58e34db
fix get_wrapper
Vizonex Mar 10, 2026
4a8c237
remove overload
Vizonex Mar 10, 2026
c8da5d6
add disjoint_base to cython compiled classes
Vizonex Mar 10, 2026
67491fa
add allowlist and ensure stubtest passes
Vizonex Mar 10, 2026
d807767
add bool | None to __exit__ return values
Vizonex Mar 10, 2026
0d559af
fix pyright tests
Vizonex Mar 10, 2026
9bc2e99
Merge branch 'main' into cysqlite
Vizonex Mar 11, 2026
68850b4
more fixes and fill in missing items
Vizonex Mar 11, 2026
578e1c8
fix remaining items left in aio.pyi
Vizonex Mar 11, 2026
dcf8ddd
Update stubs/cysqlite/cysqlite/__init__.pyi
Vizonex Mar 13, 2026
a6f758d
Update stubs/cysqlite/cysqlite/_cysqlite.pyi
Vizonex Mar 13, 2026
502fe48
Update stubs/cysqlite/cysqlite/_cysqlite.pyi
Vizonex Mar 13, 2026
2174567
Update stubs/cysqlite/cysqlite/_cysqlite.pyi
Vizonex Mar 13, 2026
6db2a7e
remove branching in typing & typing-extensions
Vizonex Mar 13, 2026
5743863
Merge branch 'cysqlite' of https://github.com/Vizonex/typeshed into c…
Vizonex Mar 13, 2026
ddecb83
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 13, 2026
a8bf9ad
fix SENTINEL for now
Vizonex Mar 13, 2026
eda150b
Merge branch 'cysqlite' of https://github.com/Vizonex/typeshed into c…
Vizonex Mar 13, 2026
82fa652
wrap contants using Final[...]
Vizonex Mar 13, 2026
7e57504
fix allowlist
Vizonex Mar 13, 2026
59265bf
Update stubs/cysqlite/cysqlite/aio.pyi
Vizonex Mar 13, 2026
3462ed8
add type_check_only to type dictionaries
Vizonex Mar 13, 2026
e5e7070
Update stubs/cysqlite/cysqlite/__init__.pyi
Vizonex Mar 14, 2026
e9dcb39
Update stubs/cysqlite/cysqlite/_cysqlite.pyi
Vizonex Mar 14, 2026
4130a7f
Update stubs/cysqlite/cysqlite/_cysqlite.pyi
Vizonex Mar 14, 2026
2c75b0d
add explainations as for the use of Any with TableFunction class
Vizonex Mar 14, 2026
5726793
add explainations as for the use of Any with TableFunction class
Vizonex Mar 14, 2026
6edba37
fix with stubtest_thrid_party.py
Vizonex Mar 14, 2026
459a772
Merge branch 'main' into cysqlite
Vizonex Mar 14, 2026
37ced8b
remove Any from initalize in TableFunction class
Vizonex Mar 14, 2026
3813f6c
Update stubs/cysqlite/@tests/stubtest_allowlist.txt
Vizonex Mar 14, 2026
8659824
Update stubs/cysqlite/cysqlite/_cysqlite.pyi
Vizonex Mar 14, 2026
5ed3c7e
Update stubs/cysqlite/cysqlite/_cysqlite.pyi
Vizonex Mar 14, 2026
91842f0
Update stubs/cysqlite/cysqlite/_cysqlite.pyi
Vizonex Mar 14, 2026
f319ebb
Update stubs/cysqlite/cysqlite/_cysqlite.pyi
Vizonex Mar 14, 2026
1612bec
Merge branch 'main' into cysqlite
Vizonex Mar 14, 2026
6cf2614
Update stubs/cysqlite/cysqlite/_cysqlite.pyi
Vizonex Mar 14, 2026
dec196b
Update stubs/cysqlite/cysqlite/_cysqlite.pyi
Vizonex Mar 14, 2026
ba99887
Update stubs/cysqlite/@tests/stubtest_allowlist.txt
Vizonex Mar 14, 2026
a5c527f
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 14, 2026
72426a6
Update stubs/cysqlite/@tests/stubtest_allowlist.txt
Vizonex Mar 15, 2026
ae81ffe
Update stubs/cysqlite/cysqlite/aio.pyi
Vizonex Mar 15, 2026
aefa4f7
add Final to aio.pyi
Vizonex Mar 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions stubs/cysqlite/@tests/stubtest_allowlist.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
cysqlite._cysqlite.__test__
cysqlite.Connection
cysqlite.Connection.commit
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add comment(s) indicating why the allowlist entries are necessary.

Spot checking the first few errors from this run: https://github.com/python/typeshed/actions/runs/22920350806/job/66516765808, many of these look like valid errors that should be corrected in the stubs.

For example:

error: cysqlite.Connection is marked as @disjoint_base, but also marked as @final; remove @disjoint_base
Stub: in file /home/runner/work/typeshed/typeshed/stubs/cysqlite/cysqlite/__init__.pyi:108
<TypeInfo cysqlite._cysqlite.Connection>
Runtime:
<class 'cysqlite._cysqlite.Connection'>

This is correct - Connection shouldn't be marked as both @final and @disjoint_base.

error: cysqlite.Connection.commit is inconsistent, runtime does not have parameter "begin"
Stub: in file /home/runner/work/typeshed/typeshed/stubs/cysqlite/cysqlite/__init__.pyi:162
def (self: cysqlite._cysqlite.Connection, begin: builtins.bool =) -> Any
Runtime:
def (self)

This appears correct - the runtime method does not have a begin parameter: https://github.com/coleifer/cysqlite/blob/861ea9e7965c4770e29cc50a726bd06164ca47a8/src/cysqlite/_cysqlite.pyx#L1111

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there is multiple different ways commit is used there is a couple commit functions where begin is needed unless it's is in the main Connection class and Cursor class. Those are the only few that do not require a begin. The other in relation to Atomic, such as a Savepoint and Transaction need it to be visable.

cysqlite.Connection.execute_simple
cysqlite.Connection.executemany
cysqlite.Connection.get_columns
cysqlite.Connection.pragma
cysqlite._cysqlite.Connection
cysqlite._cysqlite.Connection.commit
cysqlite._cysqlite.Connection.execute_simple
cysqlite._cysqlite.Connection.executemany
cysqlite._cysqlite.Connection.get_columns
cysqlite._cysqlite.Connection.pragma
cysqlite._cysqlite.Cursor
cysqlite._cysqlite.Cursor.executemany
cysqlite._cysqlite.__reduce_cython__
cysqlite._cysqlite.__setstate_cython__
2 changes: 2 additions & 0 deletions stubs/cysqlite/METADATA.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
version = "0.2.*"
upstream_repository = "https://github.com/coleifer/cysqlite"
25 changes: 25 additions & 0 deletions stubs/cysqlite/cysqlite/__init__.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
from ._constants import *
from ._cysqlite import (
Blob as Blob,
Connection as Connection,
Row as Row,
TableFunction as TableFunction,
compile_option as compile_option,
connect as connect,
damerau_levenshtein_dist as damerau_levenshtein_dist,
levenshtein_dist as levenshtein_dist,
median as median,
rank_bm25 as rank_bm25,
rank_lucene as rank_lucene,
sqlite_version as sqlite_version,
sqlite_version_info as sqlite_version_info,
status as status,
threadsafety as threadsafety,
)
from .exceptions import *

version: str
__version__: str
version_info: tuple[int, int, int]
apilevel: str
paramstyle: str
187 changes: 187 additions & 0 deletions stubs/cysqlite/cysqlite/_constants.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,187 @@
SQLITE_ABORT: int
SQLITE_ALTER_TABLE: int
SQLITE_ANALYZE: int
SQLITE_ATTACH: int
SQLITE_AUTH: int
SQLITE_BUSY: int
SQLITE_CANTOPEN: int
SQLITE_CHECKPOINT_FULL: int
SQLITE_CHECKPOINT_PASSIVE: int
SQLITE_CHECKPOINT_RESTART: int
SQLITE_CHECKPOINT_TRUNCATE: int
SQLITE_CONSTRAINT: int
SQLITE_COPY: int
SQLITE_CORRUPT: int
SQLITE_CREATE_INDEX: int
SQLITE_CREATE_TABLE: int
SQLITE_CREATE_TEMP_INDEX: int
SQLITE_CREATE_TEMP_TABLE: int
SQLITE_CREATE_TEMP_TRIGGER: int
SQLITE_CREATE_TEMP_VIEW: int
SQLITE_CREATE_TRIGGER: int
SQLITE_CREATE_VIEW: int
SQLITE_CREATE_VTABLE: int
SQLITE_DBCONFIG_DEFENSIVE: int
SQLITE_DBCONFIG_DQS_DDL: int
SQLITE_DBCONFIG_DQS_DML: int
SQLITE_DBCONFIG_ENABLE_FKEY: int
SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER: int
SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION: int
SQLITE_DBCONFIG_ENABLE_QPSG: int
SQLITE_DBCONFIG_ENABLE_TRIGGER: int
SQLITE_DBCONFIG_ENABLE_VIEW: int
SQLITE_DBCONFIG_LEGACY_ALTER_TABLE: int
SQLITE_DBCONFIG_LEGACY_FILE_FORMAT: int
SQLITE_DBCONFIG_MAINDBNAME: int
SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE: int
SQLITE_DBCONFIG_RESET_DATABASE: int
SQLITE_DBCONFIG_TRIGGER_EQP: int
SQLITE_DBCONFIG_TRUSTED_SCHEMA: int
SQLITE_DBCONFIG_WRITABLE_SCHEMA: int
SQLITE_DBSTATUS_CACHE_HIT: int
SQLITE_DBSTATUS_CACHE_MISS: int
SQLITE_DBSTATUS_CACHE_USED: int
SQLITE_DBSTATUS_CACHE_WRITE: int
SQLITE_DBSTATUS_DEFERRED_FKS: int
SQLITE_DBSTATUS_LOOKASIDE_HIT: int
SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL: int
SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE: int
SQLITE_DBSTATUS_LOOKASIDE_USED: int
SQLITE_DBSTATUS_SCHEMA_USED: int
SQLITE_DBSTATUS_STMT_USED: int
SQLITE_DELETE: int
SQLITE_DENY: int
SQLITE_DETACH: int
SQLITE_DONE: int
SQLITE_DROP_INDEX: int
SQLITE_DROP_TABLE: int
SQLITE_DROP_TEMP_INDEX: int
SQLITE_DROP_TEMP_TABLE: int
SQLITE_DROP_TEMP_TRIGGER: int
SQLITE_DROP_TEMP_VIEW: int
SQLITE_DROP_TRIGGER: int
SQLITE_DROP_VIEW: int
SQLITE_DROP_VTABLE: int
SQLITE_EMPTY: int
SQLITE_ERROR: int
SQLITE_FCNTL_BEGIN_ATOMIC_WRITE: int
SQLITE_FCNTL_BUSYHANDLER: int
SQLITE_FCNTL_CHUNK_SIZE: int
SQLITE_FCNTL_CKPT_DONE: int
SQLITE_FCNTL_CKPT_START: int
SQLITE_FCNTL_CKSM_FILE: int
SQLITE_FCNTL_COMMIT_ATOMIC_WRITE: int
SQLITE_FCNTL_COMMIT_PHASETWO: int
SQLITE_FCNTL_DATA_VERSION: int
SQLITE_FCNTL_EXTERNAL_READER: int
SQLITE_FCNTL_FILE_POINTER: int
SQLITE_FCNTL_GET_LOCKPROXYFILE: int
SQLITE_FCNTL_HAS_MOVED: int
SQLITE_FCNTL_JOURNAL_POINTER: int
SQLITE_FCNTL_LAST_ERRNO: int
SQLITE_FCNTL_LOCKSTATE: int
SQLITE_FCNTL_LOCK_TIMEOUT: int
SQLITE_FCNTL_MMAP_SIZE: int
SQLITE_FCNTL_NULL_IO: int
SQLITE_FCNTL_OVERWRITE: int
SQLITE_FCNTL_PDB: int
SQLITE_FCNTL_PERSIST_WAL: int
SQLITE_FCNTL_POWERSAFE_OVERWRITE: int
SQLITE_FCNTL_PRAGMA: int
SQLITE_FCNTL_RBU: int
SQLITE_FCNTL_RESERVE_BYTES: int
SQLITE_FCNTL_RESET_CACHE: int
SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE: int
SQLITE_FCNTL_SET_LOCKPROXYFILE: int
SQLITE_FCNTL_SIZE_HINT: int
SQLITE_FCNTL_SIZE_LIMIT: int
SQLITE_FCNTL_SYNC: int
SQLITE_FCNTL_SYNC_OMITTED: int
SQLITE_FCNTL_TEMPFILENAME: int
SQLITE_FCNTL_TRACE: int
SQLITE_FCNTL_VFSNAME: int
SQLITE_FCNTL_VFS_POINTER: int
SQLITE_FCNTL_WAL_BLOCK: int
SQLITE_FCNTL_WIN32_AV_RETRY: int
SQLITE_FCNTL_WIN32_GET_HANDLE: int
SQLITE_FCNTL_WIN32_SET_HANDLE: int
SQLITE_FCNTL_ZIPVFS: int
SQLITE_FORMAT: int
SQLITE_FULL: int
SQLITE_FUNCTION: int
SQLITE_IGNORE: int
SQLITE_INSERT: int
SQLITE_INTERNAL: int
SQLITE_INTERRUPT: int
SQLITE_IOERR: int
SQLITE_LIMIT_ATTACHED: int
SQLITE_LIMIT_COLUMN: int
SQLITE_LIMIT_COMPOUND_SELECT: int
SQLITE_LIMIT_EXPR_DEPTH: int
SQLITE_LIMIT_FUNCTION_ARG: int
SQLITE_LIMIT_LENGTH: int
SQLITE_LIMIT_LIKE_PATTERN_LENGTH: int
SQLITE_LIMIT_SQL_LENGTH: int
SQLITE_LIMIT_TRIGGER_DEPTH: int
SQLITE_LIMIT_VARIABLE_NUMBER: int
SQLITE_LIMIT_VDBE_OP: int
SQLITE_LIMIT_WORKER_THREADS: int
SQLITE_LOCKED: int
SQLITE_MISMATCH: int
SQLITE_MISUSE: int
SQLITE_NOLFS: int
SQLITE_NOMEM: int
SQLITE_NOTADB: int
SQLITE_NOTFOUND: int
SQLITE_OK: int
SQLITE_OPEN_AUTOPROXY: int
SQLITE_OPEN_CREATE: int
SQLITE_OPEN_DELETEONCLOSE: int
SQLITE_OPEN_EXCLUSIVE: int
SQLITE_OPEN_FULLMUTEX: int
SQLITE_OPEN_MAIN_DB: int
SQLITE_OPEN_MAIN_JOURNAL: int
SQLITE_OPEN_MASTER_JOURNAL: int
SQLITE_OPEN_MEMORY: int
SQLITE_OPEN_NOMUTEX: int
SQLITE_OPEN_PRIVATECACHE: int
SQLITE_OPEN_READONLY: int
SQLITE_OPEN_READWRITE: int
SQLITE_OPEN_SHAREDCACHE: int
SQLITE_OPEN_SUBJOURNAL: int
SQLITE_OPEN_TEMP_DB: int
SQLITE_OPEN_TEMP_JOURNAL: int
SQLITE_OPEN_TRANSIENT_DB: int
SQLITE_OPEN_URI: int
SQLITE_OPEN_WAL: int
SQLITE_PERM: int
SQLITE_PRAGMA: int
SQLITE_PROTOCOL: int
SQLITE_RANGE: int
SQLITE_READ: int
SQLITE_READONLY: int
SQLITE_RECURSIVE: int
SQLITE_REINDEX: int
SQLITE_ROW: int
SQLITE_SAVEPOINT: int
SQLITE_SCHEMA: int
SQLITE_SELECT: int
SQLITE_STATUS_MALLOC_COUNT: int
SQLITE_STATUS_MALLOC_SIZE: int
SQLITE_STATUS_MEMORY_USED: int
SQLITE_STATUS_PAGECACHE_OVERFLOW: int
SQLITE_STATUS_PAGECACHE_SIZE: int
SQLITE_STATUS_PAGECACHE_USED: int
SQLITE_STATUS_PARSER_STACK: int
SQLITE_STATUS_SCRATCH_OVERFLOW: int
SQLITE_STATUS_SCRATCH_SIZE: int
SQLITE_STATUS_SCRATCH_USED: int
SQLITE_TOOBIG: int
SQLITE_TRACE_CLOSE: int
SQLITE_TRACE_PROFILE: int
SQLITE_TRACE_ROW: int
SQLITE_TRACE_STMT: int
SQLITE_TRANSACTION: int
SQLITE_UPDATE: int
SQLITE_VERSION: str
SQLITE_VERSION_NUMBER: int
Loading
Loading