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
Copy file name to clipboardExpand all lines: README.md
+60-10Lines changed: 60 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,24 +1,23 @@
1
1
# PythonForWindows
2
2
3
-
[](https://gitter.im/PythonForWindows/general)
PythonForWindows (PFW) is a base of code aimed to make interaction with `Windows` (on X86/X64) easier (for both 32 and 64 bits Python).
7
6
Its goal is to offer abstractions around some of the OS features in a (I hope) pythonic way.
8
7
It also tries to make the barrier between python and native execution thinner in both ways.
9
8
There is no external dependencies but it relies heavily on the `ctypes` module.
10
9
11
-
12
-
Some of this code is clean (IMHO) and some parts are just a wreck that works for now.
13
-
Let's say that the codebase evolves with my needs and my curiosity.
10
+
Let's say that the codebase evolves with my needs, my researches and my curiosity.
14
11
15
12
Complete online documentation is available [here][ONLINE_DOC]
16
13
You can find some examples of code in the [samples directory][SAMPLE_DIR] or [online][ONLINE_SAMPLE].
17
14
18
-
PythonForWindows is principally known for its ALPC-RPC Client (see [samples](http://hakril.github.io/PythonForWindows/build/html/sample.html#windows-rpc)).
15
+
PythonForWindows is principally known for:
16
+
- its ALPC-RPC Client (see [samples](http://hakril.github.io/PythonForWindows/build/html/sample.html#windows-rpc))
17
+
- its generated [ctypes definitions](https://github.com/hakril/PythonForWindows/tree/master/windows/generated_def).
19
18
20
19
21
-
If you have any issue, question or suggestion do not hesitate to join [the Gitter channel](https://gitter.im/PythonForWindows/general).
20
+
If you have any issue, question or suggestion do not hesitate to create an issue or reach me out.
22
21
I am always glad to have feedbacks from people using this project.
23
22
24
23
## Installation
@@ -36,12 +35,17 @@ You can also install PythonForWindows by cloning it and using the ``setup.py`` s
36
35
python setup.py install
37
36
``
38
37
39
-
#### Python3
38
+
## Encoding & unicode
39
+
40
+
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)
41
+
42
+
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.
40
43
41
-
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)
42
-
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.
44
+
### Python2
45
+
46
+
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.
47
+
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.
43
48
44
-
The aim of passing the whole project under unicode is actvily ongoing.
45
49
46
50
## Overview
47
51
@@ -531,6 +535,52 @@ The local debugger handles
531
535
* Standard breakpoint ``int3``
532
536
* Hardware Execution breakpoint ``DrX``
533
537
538
+
### Symbols
539
+
540
+
Classes around the Symbols APIs of `dbghelp.dll` are also implemented and can be used independently of the Debugger.
541
+
The path of `dbghelp.dll` can also be given via the `PFW_DBGHELP_PATH` environment variable.
0 commit comments