You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a pure technical release that does not change the functionality of the package.
6
+
7
+
It ensures that the package builds with a modern Python toolchain and continuous integration systems. For details, see [#8](https://github.com/roskakori/CodecMapper/issues/8), contributed by [Branch Vincent](https://github.com/branchv)). In addition, it cleans up some source files missing from the distribution (see [#17](https://github.com/roskakori/CodecMapper/issues/17)) and several minor issues in the documentation.
8
+
9
+
Because of this, support for Python 2 and Python 3.8 or older had to be dropped. If you are stuck with such a version, use [ebcdic 1.1.1](https://pypi.org/project/ebcdic/1.1.1/), which currently has the same functionality.
10
+
11
+
In addition, the documentation has been cleaned up to better conform to the standard layout of modern open source projects (see [#25](https://github.com/roskakori/CodecMapper/issues/25):
12
+
13
+
- The list of changes is now a separate `CHANGES.md` instead of part of the `ebcdic/README.md`.
14
+
- The `CONTRIBUTING.md` now includes all the instructions to build the package and run tests. Before, they were spreadout accross the different `README` files.
15
+
- The main `README.md` is a concise overview pointing to the other parts of the documentation for details.
16
+
17
+
## Version 1.1.1, 2019-08-09
18
+
19
+
- Moved license information from README to LICENSE (#5). This required the distribution to change from sdist to wheel because apparently it is a major challenge to include a text file in a platform independent way (#11).
20
+
21
+
Sadly this breaks compatibility with Python 2.6, 3.1, 3.2 and 3.3. If you still need `ebcdic` with one of these Python versions, use `ebcdic-1.0.0`.
22
+
23
+
This took several attempts and intermediate releases that where broken in different ways on different platforms. To prevent people from accidentally installing one of these broken releases they have been removed from PyPI. If you still want to take a look at them, use the [respective tags](https://github.com/roskakori/CodecMapper/releases).
24
+
25
+
## Version 1.0.0, 2019-06-06
26
+
27
+
- Changed development status to "Production/Stable".
28
+
- Added international code pages cp500ms and cp1148ms which are the Microsoft interpretations of the respective IBM code pages. The only difference is that 0x1f is mapped to 0x85 ("next line") instead of 0x0a ("new line"). Note that codecs.cp500 included with the Python standard library also uses the Microsoft interpretation (#4).
29
+
- Added Arabian bilingual code page 420.
30
+
- Added Baltic code page 1112.
31
+
- Added Cyrillic code page 1025.
32
+
- Added Eastern Europe code page 870.
33
+
- Added Estonian code pages 1122 and 1157.
34
+
- Added Greek code page 875.
35
+
- Added Farsi Bilingual code page 1097.
36
+
- Added Hebrew code page 424 and 803.
37
+
- Added Korean code page 833.
38
+
- Added Meahreb/French code page 425.
39
+
- Added Japanese (Katakana) code page 290.
40
+
- Added Thailand code page 838.
41
+
- Added Turkish code page 322.
42
+
- Added Ukraine code page 1123.
43
+
- Added Python 3.5 to 3.8 as supported versions.
44
+
- Improved PEP8 conformance of generated codecs.
45
+
46
+
## Version 0.7, 2014-11-17
47
+
48
+
- Clarified which codecs are already part of the standard library and that these codecs overrule the `ebcdic` package. Also added a function `ebcdic.ignored_codec_names()` that returns the name of the EBCDIC codecs provided by other means. To obtain access to `ebcdic` codecs overruled by the standard library, use `ebcdic.lookup()`.
49
+
- Cleaned up (PEP8, `__all__`, typos, ...).
50
+
51
+
## Version 0.6, 2014-11-15
52
+
53
+
- Added support for Python 2.6+ and 3.1+ (#1).
54
+
- Included a modified version of `gencodec.py` that still builds maps instead of tables so the generated codecs work with Python versions earlier than 3.3. It also does a `from __future__ import unicode_literals` so the codecs even work with Python 2.6+ using the same source code. As a side effect, this simplifies building the codecs because it removes the the need for a local copy of the cpython source code.
2. ant 1.8 or later, available from https://ant.apache.org/.
21
+
22
+
It might also work with earlier versions of ant, but this has not been tested.
23
+
24
+
### Usage
25
+
26
+
To build CodecMapper, run:
27
+
28
+
```console
29
+
$ ant dist
30
+
```
31
+
32
+
To generate a mapping file for a specific codec run, for example:
33
+
34
+
```console
35
+
$ java -jar dist/CodecMapper.jar iso-8859-15
36
+
```
37
+
38
+
The resulting mapping file is stored in `iso-8859-15.txt`. The generated mapping files are located in the same folder and have names like `iso-8859.15.mapping`.
39
+
40
+
## Python ebcdic package
41
+
42
+
As an example usage, CodecMapper includes the Python ebcdic package, which is located in the `ebcdic` folder. For general information about this package, take a look at the [ebcdic/README](ebcdic/README.md).
`ebcdic` is a Python package adding additional EBCDIC codecs for data exchange with legacy systems. It supports Python 3.9 and later.
3
+
`ebcdic` is a Python package adding additional EBCDIC codecs for data exchange with legacy systems.
4
4
5
-
[EBCDIC](https://en.wikipedia.org/wiki/EBCDIC) is short for "E"xtended Binary Coded Decimal Interchange Code" and is a family of character encodings that is mainly used on mainframe computers. There is no real point in using it unless you have to exchange data with legacy systems that still only support EBCDIC as character encoding.
5
+
[EBCDIC](https://en.wikipedia.org/wiki/EBCDIC) is short for "Extended Binary Coded Decimal Interchange Code" and is a family of character encodings that is mainly used on mainframe computers. There is no real point in using it unless you have to exchange data with legacy systems.
6
+
7
+
This package requires Python 3.9 or later.
6
8
7
9
For compatibility with Python 2.7 to 3.3, use [version 1.1.1](https://pypi.org/project/ebcdic/1.1.1/).
8
10
@@ -12,7 +14,9 @@ For compatibility with Python 2.6 to 3.2, use [version 1.0.0](https://pypi.org/p
12
14
13
15
The `ebcdic` package is available from <https://pypi.python.org/pypi/ebcdic> and can be installed using pip:
14
16
15
-
pip install ebcdic
17
+
```console
18
+
pip install ebcdic
19
+
```
16
20
17
21
## Example usage
18
22
@@ -87,97 +91,11 @@ According to a [comprehensive list of code pages](https://www.aivosto.com/articl
87
91
88
92
## Source code
89
93
90
-
These codecs have been generated using CodecMapper, available from <https://github.com/roskakori/CodecMapper>. Read the README to build the ebcdic package from source.
94
+
These codecs have been generated using CodecMapper, available from <https://github.com/roskakori/CodecMapper>. Read the [CONTRIBUTING.md](https://github.com/roskakori/CodecMapper/blob/master/CONTRIBUTING.md) to build the ebcdic package from the source and learn how to add more codecs.
91
95
92
-
To add another 8-bit EBCDIC codec, extend the ant target `ebcdic` in `build.xml` using a line like:
93
-
94
-
```xml
95
-
<argvalue="cpXXX" />
96
-
```
96
+
## License
97
97
98
-
Replace `XXX` by the number of the 8-bit code page you want to include.
99
-
100
-
Then run:
101
-
102
-
```bash
103
-
ant test
104
-
```
98
+
Copyright (c) 2013 - 2026, Thomas Aglassinger
99
+
All rights reserved.
105
100
106
-
to build and test the distribution.
107
-
108
-
## Changes
109
-
110
-
Version 2.0.0, 2026-02-23
111
-
112
-
This is a pure technical release that does not change the functionality of the package.
113
-
114
-
It ensures that the package builds with a modern Python toolchain and continuous integration systems. For details, see [#8](https://github.com/roskakori/CodecMapper/issues/8), contributed by [Branch Vincent](https://github.com/branchv)). In addition, it cleans up some source files missing from the distribution (see [#17](https://github.com/roskakori/CodecMapper/issues/17)) and several minor issues in the documentation.
115
-
116
-
Because of that, support for Python 2 and Python 3.8 or older had to be dropped. If you are stuck with such a version, use [ebcdic 1.1.1](https://pypi.org/project/ebcdic/1.1.1/), which currently has the same functionality.
117
-
118
-
Version 1.1.1, 2019-08-09
119
-
120
-
- Moved license information from README to LICENSE (#5). This required
121
-
the distribution to change from sdist to wheel because apparently it
122
-
is a major challenge to include a text file in a platform
123
-
independent way (#11).
124
-
125
-
Sadly this breaks compatibility with Python 2.6, 3.1, 3.2 and 3.3.
126
-
If you still need `ebcdic` with one of these Python versions, use
127
-
`ebcdic-1.0.0`.
128
-
129
-
This took several attempts and intermediate releases that where
130
-
broken in different ways on different platforms. To prevent people
131
-
from accidentally installing one of these broken releases they have
132
-
been removed from PyPI. If you still want to take a look at them,
0 commit comments