We’ve just uploaded mypy 1.8 to the Python Package Index (PyPI). Mypy is a static type checker for Python. This release includes new features, performance improvements and bug fixes. You can install it as follows:
python3 -m pip install -U mypy
You can read the full documentation for this release on Read the Docs.
Type-checking Improvements
Do not intersect types in isinstance checks if at least one is final (Christoph Tyralla, PR 16330)
Detect that @final class without __bool__ cannot have falsey instances (Ilya Priven, PR 16566)
Do not allow TypedDict classes with extra keywords (Nikita Sobolev, PR 16438)
Do not allow class-level keywords for NamedTuple (Nikita Sobolev, PR 16526)
Make imprecise constraints handling more robust (Ivan Levkivskyi, PR 16502)
Fix strict-optional in extending generic TypedDict (Ivan Levkivskyi, PR 16398)
Allow type ignores of PEP 695 constructs (Shantanu, PR 16608)
Enable type_check_only support for TypedDict and NamedTuple (Nikita Sobolev, PR 16469)
Performance Improvements
Add fast path to analyzing special form assignments (Jukka Lehtosalo, PR 16561)
Improvements to Error Reporting
Don't show documentation links for plugin error codes (Ivan Levkivskyi, PR 16383)
Improve error messages for super checks and add more tests (Nikita Sobolev, PR 16393)
Integration-Test-Docker-Environment 2.0.0, released 2023-08-07
Summary
Version 2.0.0 of ITDE comes with breaking changes as the public API class DatabaseInfo has been changed. Former separate attributes database_port_forwardand bucketfs_port_forward have been replaced by a single attribute port set to an instance of PortForwarding with attributes database, bucketfs, and ssh.
Previous versions of the ITDE used docker_exec to access the Docker Container, e.g. to analyze the content of logfiles or execute some shell commands. In future versions of the Exasol Docker-DB the format of the Docker Containers might change so that docker_exec is no longer possible. Instead ITDE will then need to use SSH access.
The current release therefore enhances ITDE to enable to access the Docker Container via SSH. The user can select the docker access method with command line option --db-os-access and can specify a port number to which ITDE forwards the SSH port of the Docker Container, see User Guide.
Additionally the directory for storing the randomly generated SSH keys has been moved to ~/.cache/exasol/itde/. By that ITDE can restrict file permissions allowing access only by the current user.
This release also removes versions 7.0.x of the Exasol database from the regular CI builds as version 8.x is already available and ITDE only supports the latest two minor versions.
Supported Exasol Versions
7.1: up to 7.1.17
8: 8.18.1
If you need further versions, please open an issue.
Internal
Changes
#329: Added CLI option --ssh-port-forward to forward SSH port
#343: Added SshInfo to DatabaseInfo containing user, port and path to SSH key file
#308: Unified ports for database, BucketFS, and SSH
#322: Added additional tests for environment variable LOG_ENV_VARIABLE_NAME
#359: Fixed custom logging path not working if dir does not exist.
#304: Create SSH access replacements for calls to docker.exec_run()
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the other group with 5 updates:
23.12.0
23.12.1
2.17.7
3.0.3
2022.12.7
2023.9.10
1.7.1
1.8.0
1.7.1
2.0.0
Updates
black
from 23.12.0 to 23.12.1Release notes
Sourced from black's releases.
Changelog
Sourced from black's changelog.
Commits
ec91a2b
Prepare release 23.12.1 (#4124)8fec1c3
Adds paren to deps for hidden extra constraint (#4108)35ce37d
Add new changelog templateUpdates
pylint
from 2.17.7 to 3.0.3Commits
1a5ffc1
Bump pylint to 3.0.3, update changelog54687e7
Disallow isort 5.13.0 (#9290) (#9292)fea5483
[wrong-exception-operation] Fix FP for tuple concatenation of exception types...d0d5c91
[pointless-string-statement] Ignore docstrings on py3.12 type aliases (#9269)...81f0f2e
[Backport maintenance/3.0.x] [bugfix] Find files with ./ as input with a __in...7f01d83
Fix doc generation in implicit-str-concata60ddd1
Fix incorrect suggestion for unnecessary-comprehension (#9172) (#9242)dc11223
[todos] Fix the todos version and the warnings' text (#9202) (#9204)0273db7
Fix false positive forunnecessary-lambda
. (#9149) (#9200)53d4541
Fixundefined-variable
etc for Python 3.12 generic type syntax (#9195) (#9199)Updates
furo
from 2022.12.7 to 2023.9.10Changelog
Sourced from furo's changelog.
... (truncated)
Commits
2718ca4
Prepare release: 2023.09.10c22c99d
Update changelogc37e849
Quote a not-runtime-generic type annotation9cfdf44
Rework infrastructure for linting5abeb9f
Fix the check for HTML buildersee2ab54
Tweak how tests are run with noxcdae236
Test against Sphinx minor versions in CI9e40071
Make asset hash injection idempotentaab86f4
Revert "Exclude incompatible Sphinx releases (#711)"4dd6eec
Exclude incompatible Sphinx releases (#711)Updates
mypy
from 1.7.1 to 1.8.0Changelog
Sourced from mypy's changelog.
... (truncated)
Commits
3b46750
remove +dev suffix from versionc9bc833
Fix tests broken by hatchling (#16655)60d30e3
Fix crash with type alias toCallable[[Unpack[Tuple[Any, ...]]], Any]
(#16541)f53f422
Allow type ignores of PEP 695 constructs (#16608)7c33e7c
@final
class without bool cannot have falsey instances (#16566)c224da5
Do not intersect types in isinstance checks if at least one is final (#16330)d54cc35
Change example in test cases with no stubs available (#16513)eb1ee97
Update hashes insync-typeshed.py
following recent typeshed sync (#16600)344298e
Revert use ofParamSpec
forfunctools.wraps
3e5d813
Revert typeshed ctypes changeUpdates
exasol-integration-test-docker-environment
from 1.7.1 to 2.0.0Release notes
Sourced from exasol-integration-test-docker-environment's releases.
Commits
41a7c72
[run all tests]1e40864
Fixed typo found during review1713cb9
[run all tests]2f313f4
Updated changes file37ff344
Replaced calls to DockerContainer.exec_run() to support SSH access alternativ...9d045bf
Removed versions 7.0.x of Exasol database (#369)7c0e930
Create SSH access replacements for calls to docker.exec_run() (#362)d6fcbaa
Fixed env variable LOG_ENV_VARIABLE_NAME (#360)390968a
Unify ports for database, BucketFS, and SSH (#354)985abe2
Add port, keys, user to DatabaseInfo with parent field ssh_info (#353)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show