diff --git a/CHANGELOG b/CHANGELOG index d887a08..ff6a8e7 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,13 @@ +1.0.0: + +Unicode everywhere: + Whenever possible, PythonForWindows use W() (wide) APIs and returns unicode string. + This means `str` for python3 & `unicode` for python2.7 + +windows.system.build_number now returns a int : the actual build number +windows.system.build_number became windows.system.versionstr + + Between 0.4 & 0.5: == New features == - windows.security diff --git a/README.md b/README.md index dc89f91..ba43bf1 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,5 @@ # PythonForWindows -[![Join the chat at https://gitter.im/PythonForWindows/general](https://badges.gitter.im/PythonForWindows/general.svg)](https://gitter.im/PythonForWindows/general) [![Pytest](https://github.com/hakril/PythonForWindows/actions/workflows/mypytest.yml/badge.svg?branch=master)](https://github.com/hakril/PythonForWindows/actions/workflows/mypytest.yml) PythonForWindows (PFW) is a base of code aimed to make interaction with `Windows` (on X86/X64) easier (for both 32 and 64 bits Python). @@ -8,17 +7,17 @@ Its goal is to offer abstractions around some of the OS features in a (I hope) p It also tries to make the barrier between python and native execution thinner in both ways. There is no external dependencies but it relies heavily on the `ctypes` module. - -Some of this code is clean (IMHO) and some parts are just a wreck that works for now. -Let's say that the codebase evolves with my needs and my curiosity. +Let's say that the codebase evolves with my needs, my researches and my curiosity. Complete online documentation is available [here][ONLINE_DOC] You can find some examples of code in the [samples directory][SAMPLE_DIR] or [online][ONLINE_SAMPLE]. -PythonForWindows is principally known for its ALPC-RPC Client (see [samples](http://hakril.github.io/PythonForWindows/build/html/sample.html#windows-rpc)). +PythonForWindows is principally known for: + - its ALPC-RPC Client (see [samples](http://hakril.github.io/PythonForWindows/build/html/sample.html#windows-rpc)) + - its generated [ctypes definitions](https://github.com/hakril/PythonForWindows/tree/master/windows/generated_def). -If you have any issue, question or suggestion do not hesitate to join [the Gitter channel](https://gitter.im/PythonForWindows/general). +If you have any issue, question or suggestion do not hesitate to create an issue or reach me out. I am always glad to have feedbacks from people using this project. ## Installation @@ -36,12 +35,17 @@ You can also install PythonForWindows by cloning it and using the ``setup.py`` s python setup.py install `` -#### Python3 +## Encoding & unicode -PythonForWindows support python3 and is currently tested for Python2.7, 3.6 & 3.11 via [Github Workflow](https://github.com/hakril/PythonForWindows/actions/workflows/mypytest.yml) -Regarding the handling of encoding in the project it's currently a mix of Ascii & Unicode that may be awkward on Python3 as automatic encoding/decoding is not present. +PythonForWindows support `python2.7` & `python3` and is currently tested for `Python2.7`, `3.6` & `3.11` via [Github Workflow](https://github.com/hakril/PythonForWindows/actions/workflows/mypytest.yml) + +Since 1.0.0, the code uses "wide APIs" whenever possible and accept/returns python3 `str` (py2.7 `unicode` type) almost everywhere. Any functions/APIs not accepting unicode string can be considered a bug if its not stated explicitly in the documentation. + +### Python2 + +PythonForWindows continues to support python2.7 as its the only way to have it running on `Windows XP` & `Windows Server 2003` which are sadly still seen in production. +Encoding errors at print time might be awkward for unicode string on python2, see the [PythonForWindows encoding guide](http://hakril.github.io/PythonForWindows/build/html/encoding.html) in the documentation. -The aim of passing the whole project under unicode is actvily ongoing. ## Overview diff --git a/docs/source/index.rst b/docs/source/index.rst index 0d27138..051312d 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -77,6 +77,7 @@ Documentation wip.rst internals.rst sample.rst + encoding.rst Indices and tables