You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Tree:
31245d19f2
3.10
3.11
3.12
3.13
3.14
main
2.0
2.1
2.2
2.3
2.4
2.5
2.6
2.7
3.0
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
legacy-trunk
v0.9.8
v0.9.9
v1.0.1
v1.0.2
v1.1
v1.1.1
v1.2
v1.2b1
v1.2b2
v1.2b3
v1.2b4
v1.3
v1.3b1
v1.4
v1.4b1
v1.4b2
v1.4b3
v1.5
v1.5.1
v1.5.2
v1.5.2a1
v1.5.2a2
v1.5.2b1
v1.5.2b2
v1.5.2c1
v1.5a1
v1.5a2
v1.5a3
v1.5a4
v1.5b1
v1.5b2
v1.6a1
v1.6a2
v2.0
v2.0.1
v2.0.1c1
v2.0b1
v2.0b2
v2.0c1
v2.1
v2.1.1
v2.1.1c1
v2.1.2
v2.1.2c1
v2.1.3
v2.1a1
v2.1a2
v2.1b1
v2.1b2
v2.1c1
v2.1c2
v2.2
v2.2.1
v2.2.1c1
v2.2.1c2
v2.2.2
v2.2.2b1
v2.2.3
v2.2.3c1
v2.2a3
v2.3.1
v2.3.2
v2.3.2c1
v2.3.3
v2.3.3c1
v2.3.4
v2.3.4c1
v2.3.5
v2.3.5c1
v2.3.6
v2.3.6c1
v2.3.7
v2.3.7c1
v2.3c1
v2.3c2
v2.4
v2.4.1
v2.4.1c1
v2.4.1c2
v2.4.2
v2.4.2c1
v2.4.3
v2.4.3c1
v2.4.4
v2.4.4c1
v2.4.5
v2.4.5c1
v2.4.6
v2.4.6c1
v2.4a1
v2.4a2
v2.4a3
v2.4b1
v2.4b2
v2.4c1
v2.5
v2.5.1
v2.5.1c1
v2.5.2
v2.5.2c1
v2.5.3
v2.5.3c1
v2.5.4
v2.5.5
v2.5.5c1
v2.5.5c2
v2.5.6
v2.5.6c1
v2.5a0
v2.5a1
v2.5a2
v2.5b1
v2.5b2
v2.5b3
v2.5c1
v2.5c2
v2.6
v2.6.1
v2.6.2
v2.6.2c1
v2.6.3
v2.6.3rc1
v2.6.4
v2.6.4rc1
v2.6.4rc2
v2.6.5
v2.6.5rc1
v2.6.5rc2
v2.6.6
v2.6.6rc1
v2.6.6rc2
v2.6.7
v2.6.8
v2.6.8rc1
v2.6.8rc2
v2.6.9
v2.6.9rc1
v2.6a1
v2.6a2
v2.6a3
v2.6b1
v2.6b2
v2.6b3
v2.6rc1
v2.6rc2
v2.7
v2.7.1
v2.7.10
v2.7.10rc1
v2.7.11
v2.7.11rc1
v2.7.12
v2.7.12rc1
v2.7.13
v2.7.13rc1
v2.7.14
v2.7.14rc1
v2.7.15
v2.7.15rc1
v2.7.16
v2.7.16rc1
v2.7.17
v2.7.17rc1
v2.7.18
v2.7.18rc1
v2.7.1rc1
v2.7.2
v2.7.2rc1
v2.7.3
v2.7.3rc1
v2.7.3rc2
v2.7.4
v2.7.4rc1
v2.7.5
v2.7.6
v2.7.6rc1
v2.7.7
v2.7.7rc1
v2.7.8
v2.7.9
v2.7.9rc1
v2.7a1
v2.7a2
v2.7a3
v2.7a4
v2.7b1
v2.7b2
v2.7rc1
v2.7rc2
v3.0
v3.0.1
v3.0a1
v3.0a2
v3.0a3
v3.0a4
v3.0a5
v3.0b1
v3.0b2
v3.0b3
v3.0rc1
v3.0rc2
v3.0rc3
v3.1
v3.1.1
v3.1.1rc1
v3.1.2
v3.1.2rc1
v3.1.3
v3.1.3rc1
v3.1.4
v3.1.4rc1
v3.1.5
v3.1.5rc1
v3.1.5rc2
v3.10.0
v3.10.0a1
v3.10.0a2
v3.10.0a3
v3.10.0a4
v3.10.0a5
v3.10.0a6
v3.10.0a7
v3.10.0b1
v3.10.0b2
v3.10.0b3
v3.10.0b4
v3.10.0rc1
v3.10.0rc2
v3.10.1
v3.10.10
v3.10.11
v3.10.12
v3.10.13
v3.10.14
v3.10.15
v3.10.16
v3.10.17
v3.10.18
v3.10.19
v3.10.2
v3.10.3
v3.10.4
v3.10.5
v3.10.6
v3.10.7
v3.10.8
v3.10.9
v3.11.0
v3.11.0a1
v3.11.0a2
v3.11.0a3
v3.11.0a4
v3.11.0a5
v3.11.0a6
v3.11.0a7
v3.11.0b1
v3.11.0b2
v3.11.0b3
v3.11.0b4
v3.11.0b5
v3.11.0rc1
v3.11.0rc2
v3.11.1
v3.11.10
v3.11.11
v3.11.12
v3.11.13
v3.11.14
v3.11.2
v3.11.3
v3.11.4
v3.11.5
v3.11.6
v3.11.7
v3.11.8
v3.11.9
v3.12.0
v3.12.0a1
v3.12.0a2
v3.12.0a3
v3.12.0a4
v3.12.0a5
v3.12.0a6
v3.12.0a7
v3.12.0b1
v3.12.0b2
v3.12.0b3
v3.12.0b4
v3.12.0rc1
v3.12.0rc2
v3.12.0rc3
v3.12.1
v3.12.10
v3.12.11
v3.12.12
v3.12.2
v3.12.3
v3.12.4
v3.12.5
v3.12.6
v3.12.7
v3.12.8
v3.12.9
v3.13.0
v3.13.0a1
v3.13.0a2
v3.13.0a3
v3.13.0a4
v3.13.0a5
v3.13.0a6
v3.13.0b1
v3.13.0b2
v3.13.0b3
v3.13.0b4
v3.13.0rc1
v3.13.0rc2
v3.13.0rc3
v3.13.1
v3.13.10
v3.13.11
v3.13.12
v3.13.2
v3.13.3
v3.13.4
v3.13.5
v3.13.6
v3.13.7
v3.13.8
v3.13.9
v3.14.0
v3.14.0a1
v3.14.0a2
v3.14.0a3
v3.14.0a4
v3.14.0a5
v3.14.0a6
v3.14.0a7
v3.14.0b1
v3.14.0b2
v3.14.0b3
v3.14.0b4
v3.14.0rc1
v3.14.0rc2
v3.14.0rc3
v3.14.1
v3.14.2
v3.14.3
v3.15.0a1
v3.15.0a2
v3.15.0a3
v3.15.0a4
v3.15.0a5
v3.1a1
v3.1a2
v3.1b1
v3.1rc1
v3.1rc2
v3.2
v3.2.1
v3.2.1b1
v3.2.1rc1
v3.2.1rc2
v3.2.2
v3.2.2rc1
v3.2.3
v3.2.3rc1
v3.2.3rc2
v3.2.4
v3.2.4rc1
v3.2.5
v3.2.6
v3.2.6rc1
v3.2a1
v3.2a2
v3.2a3
v3.2a4
v3.2b1
v3.2b2
v3.2rc1
v3.2rc2
v3.2rc3
v3.3.0
v3.3.0a1
v3.3.0a2
v3.3.0a3
v3.3.0a4
v3.3.0b1
v3.3.0b2
v3.3.0rc1
v3.3.0rc2
v3.3.0rc3
v3.3.1
v3.3.1rc1
v3.3.2
v3.3.3
v3.3.3rc1
v3.3.3rc2
v3.3.4
v3.3.4rc1
v3.3.5
v3.3.5rc1
v3.3.5rc2
v3.3.6
v3.3.6rc1
v3.3.7
v3.3.7rc1
v3.4.0
v3.4.0a1
v3.4.0a2
v3.4.0a3
v3.4.0a4
v3.4.0b1
v3.4.0b2
v3.4.0b3
v3.4.0rc1
v3.4.0rc2
v3.4.0rc3
v3.4.1
v3.4.10
v3.4.10rc1
v3.4.1rc1
v3.4.2
v3.4.2rc1
v3.4.3
v3.4.3rc1
v3.4.4
v3.4.4rc1
v3.4.5
v3.4.5rc1
v3.4.6
v3.4.6rc1
v3.4.7
v3.4.7rc1
v3.4.8
v3.4.8rc1
v3.4.9
v3.4.9rc1
v3.5.0
v3.5.0a1
v3.5.0a2
v3.5.0a3
v3.5.0a4
v3.5.0b1
v3.5.0b2
v3.5.0b3
v3.5.0b4
v3.5.0rc1
v3.5.0rc2
v3.5.0rc3
v3.5.0rc4
v3.5.1
v3.5.10
v3.5.10rc1
v3.5.1rc1
v3.5.2
v3.5.2rc1
v3.5.3
v3.5.3rc1
v3.5.4
v3.5.4rc1
v3.5.5
v3.5.5rc1
v3.5.6
v3.5.6rc1
v3.5.7
v3.5.7rc1
v3.5.8
v3.5.8rc1
v3.5.8rc2
v3.5.9
v3.6.0
v3.6.0a1
v3.6.0a2
v3.6.0a3
v3.6.0a4
v3.6.0b1
v3.6.0b2
v3.6.0b3
v3.6.0b4
v3.6.0rc1
v3.6.0rc2
v3.6.1
v3.6.10
v3.6.10rc1
v3.6.11
v3.6.11rc1
v3.6.12
v3.6.13
v3.6.14
v3.6.15
v3.6.1rc1
v3.6.2
v3.6.2rc1
v3.6.2rc2
v3.6.3
v3.6.3rc1
v3.6.4
v3.6.4rc1
v3.6.5
v3.6.5rc1
v3.6.6
v3.6.6rc1
v3.6.7
v3.6.7rc1
v3.6.7rc2
v3.6.8
v3.6.8rc1
v3.6.9
v3.6.9rc1
v3.7.0
v3.7.0a1
v3.7.0a2
v3.7.0a3
v3.7.0a4
v3.7.0b1
v3.7.0b2
v3.7.0b3
v3.7.0b4
v3.7.0b5
v3.7.0rc1
v3.7.1
v3.7.10
v3.7.11
v3.7.12
v3.7.13
v3.7.14
v3.7.15
v3.7.16
v3.7.17
v3.7.1rc1
v3.7.1rc2
v3.7.2
v3.7.2rc1
v3.7.3
v3.7.3rc1
v3.7.4
v3.7.4rc1
v3.7.4rc2
v3.7.5
v3.7.5rc1
v3.7.6
v3.7.6rc1
v3.7.7
v3.7.7rc1
v3.7.8
v3.7.8rc1
v3.7.9
v3.8.0
v3.8.0a1
v3.8.0a2
v3.8.0a3
v3.8.0a4
v3.8.0b1
v3.8.0b2
v3.8.0b3
v3.8.0b4
v3.8.0rc1
v3.8.1
v3.8.10
v3.8.11
v3.8.12
v3.8.13
v3.8.14
v3.8.15
v3.8.16
v3.8.17
v3.8.18
v3.8.19
v3.8.1rc1
v3.8.2
v3.8.20
v3.8.2rc1
v3.8.2rc2
v3.8.3
v3.8.3rc1
v3.8.4
v3.8.4rc1
v3.8.5
v3.8.6
v3.8.6rc1
v3.8.7
v3.8.7rc1
v3.8.8
v3.8.8rc1
v3.8.9
v3.9.0
v3.9.0a1
v3.9.0a2
v3.9.0a3
v3.9.0a4
v3.9.0a5
v3.9.0a6
v3.9.0b1
v3.9.0b2
v3.9.0b3
v3.9.0b4
v3.9.0b5
v3.9.0rc1
v3.9.0rc2
v3.9.1
v3.9.10
v3.9.11
v3.9.12
v3.9.13
v3.9.14
v3.9.15
v3.9.16
v3.9.17
v3.9.18
v3.9.19
v3.9.1rc1
v3.9.2
v3.9.20
v3.9.21
v3.9.22
v3.9.23
v3.9.24
v3.9.25
v3.9.2rc1
v3.9.3
v3.9.4
v3.9.5
v3.9.6
v3.9.7
v3.9.8
v3.9.9
${ noResults }
This is the initial implementation of PEP 615, the zoneinfo module, ported from the standalone reference implementation (see https://www.python.org/dev/peps/pep-0615/#reference-implementation for a link, which has a more detailed commit history). This includes (hopefully) all functional elements described in the PEP, but documentation is found in a separate PR. This includes: 1. A pure python implementation of the ZoneInfo class 2. A C accelerated implementation of the ZoneInfo class 3. Tests with 100% branch coverage for the Python code (though C code coverage is less than 100%). 4. A compile-time configuration option on Linux (though not on Windows) Differences from the reference implementation: - The module is arranged slightly differently: the accelerated module is `_zoneinfo` rather than `zoneinfo._czoneinfo`, which also necessitates some changes in the test support function. (Suggested by Victor Stinner and Steve Dower.) - The tests are arranged slightly differently and do not include the property tests. The tests live at test/test_zoneinfo/test_zoneinfo.py rather than test/test_zoneinfo.py or test/test_zoneinfo/__init__.py because we may do some refactoring in the future that would likely require this separation anyway; we may: - include the property tests - automatically run all the tests against both pure Python and C, rather than manually constructing C and Python test classes (similar to the way this works with test_datetime.py, which generates C and Python test cases from datetimetester.py). - This includes a compile-time configuration option on Linux (though not on Windows); added with much help from Thomas Wouters. - Integration into the CPython build system is obviously different from building a standalone zoneinfo module wheel. - This includes configuration to install the tzdata package as part of CI, though only on the coverage jobs. Introducing a PyPI dependency as part of the CI build was controversial, and this is seen as less of a major change, since the coverage jobs already depend on pip and PyPI. Additional changes that were introduced as part of this PR, most / all of which were backported to the reference implementation: - Fixed reference and memory leaks With much debugging help from Pablo Galindo - Added smoke tests ensuring that the C and Python modules are built The import machinery can be somewhat fragile, and the "seamlessly falls back to pure Python" nature of this module makes it so that a problem building the C extension or a failure to import the pure Python version might easily go unnoticed. - Adjustments to zoneinfo.__dir__ Suggested by Petr Viktorin. - Slight refactorings as suggested by Steve Dower. - Removed unnecessary if check on std_abbr Discovered this because of a missing line in branch coverage. |
6 years ago | |
|---|---|---|
| .. | ||
| build.yml | bpo-40548: github actions: pass the changes check on no source changes (GH-20097) | 6 years ago |
| build_msi.yml | bpo-39930: Ensure vcruntime140.dll is included in all Windows packages (GH-18918) | 6 years ago |
| coverage.yml | bpo-40503: PEP 615: Tests and implementation for zoneinfo (GH-19909) | 6 years ago |
| doc.yml | bpo-39699: Don't silence make on Azure and Github CIs (GH-18583) | 6 years ago |
| posix-deps-apt.sh | bpo-39041: Add GitHub Actions support (GH-17594) | 6 years ago |