python-libei 0.1.0__py3-none-any.whl → 0.2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- libei/__init__.py +1 -1
- {python_libei-0.1.0.dist-info → python_libei-0.2.0.dist-info}/METADATA +35 -20
- {python_libei-0.1.0.dist-info → python_libei-0.2.0.dist-info}/RECORD +6 -6
- {python_libei-0.1.0.dist-info → python_libei-0.2.0.dist-info}/WHEEL +0 -0
- {python_libei-0.1.0.dist-info → python_libei-0.2.0.dist-info}/licenses/LICENSE +0 -0
- {python_libei-0.1.0.dist-info → python_libei-0.2.0.dist-info}/top_level.txt +0 -0
libei/__init__.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-libei
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
4
4
|
Summary: Inject and receive input on Wayland from Python: ctypes bindings for libei, libeis and liboeffis
|
|
5
5
|
Author: Dennis K. Paulsen
|
|
6
6
|
License-Expression: MIT
|
|
@@ -133,8 +133,9 @@ pointer.
|
|
|
133
133
|
|
|
134
134
|
## Status
|
|
135
135
|
|
|
136
|
-
Alpha (`0.
|
|
137
|
-
renames before 1.0. What
|
|
136
|
+
Alpha (`0.2.0`), published on [PyPI](https://pypi.org/project/python-libei/)
|
|
137
|
+
since `0.1.0`, and the API is not frozen — expect renames before 1.0. What
|
|
138
|
+
that qualifier covers, concretely:
|
|
138
139
|
|
|
139
140
|
- The injection path — connect, bind, wait for a device, send events — is
|
|
140
141
|
exercised end-to-end against the real libraries by
|
|
@@ -194,17 +195,29 @@ renames before 1.0. What that qualifier covers, concretely:
|
|
|
194
195
|
|
|
195
196
|
## Install
|
|
196
197
|
|
|
197
|
-
|
|
198
|
+
From [PyPI](https://pypi.org/project/python-libei/):
|
|
198
199
|
|
|
199
200
|
```sh
|
|
200
|
-
|
|
201
|
-
cd python-libei
|
|
202
|
-
pip install .
|
|
201
|
+
pip install python-libei
|
|
203
202
|
```
|
|
204
203
|
|
|
205
204
|
The distribution is named `python-libei`, the import is `libei` -- so
|
|
206
205
|
`pip show python-libei`, but `from libei import ei`.
|
|
207
206
|
|
|
207
|
+
Pure Python, no build step: the wheel is `py3-none-any` and ctypes talks to
|
|
208
|
+
the native libraries directly, so there is no compiler, no headers and no
|
|
209
|
+
`libei-devel` involved at install time. What `pip` does *not* bring is the
|
|
210
|
+
native libraries themselves -- see [Requirements](#requirements) above; on
|
|
211
|
+
Fedora, `sudo dnf install libei libeis liboeffis`.
|
|
212
|
+
|
|
213
|
+
To track `main` instead, or to hack on it, install from a checkout:
|
|
214
|
+
|
|
215
|
+
```sh
|
|
216
|
+
git clone https://github.com/ctrondlp/python-libei.git
|
|
217
|
+
cd python-libei
|
|
218
|
+
pip install . # or `pip install -e '.[dev]'` to develop
|
|
219
|
+
```
|
|
220
|
+
|
|
208
221
|
Importing is always safe, even where the native libraries are missing — they
|
|
209
222
|
are loaded on first use, not at import. Check before you rely on them:
|
|
210
223
|
|
|
@@ -724,9 +737,9 @@ tag. Nothing enforces that yet.
|
|
|
724
737
|
A release is an annotated, `v`-prefixed tag plus a GitHub Release:
|
|
725
738
|
|
|
726
739
|
```sh
|
|
727
|
-
git tag -a v0.
|
|
728
|
-
git push origin v0.
|
|
729
|
-
gh release create v0.
|
|
740
|
+
git tag -a v0.2.0 -m "0.2.0"
|
|
741
|
+
git push origin v0.2.0
|
|
742
|
+
gh release create v0.2.0 --generate-notes --prerelease
|
|
730
743
|
```
|
|
731
744
|
|
|
732
745
|
`--prerelease` while the API is unfrozen -- it keeps an alpha out of the
|
|
@@ -739,22 +752,24 @@ job in `ci.yml` handles it, uploading the artifacts the `build` job already
|
|
|
739
752
|
ran `twine check` over.
|
|
740
753
|
|
|
741
754
|
That job depends on two pieces of configuration outside this repository,
|
|
742
|
-
which
|
|
743
|
-
|
|
744
|
-
1. On pypi.org,
|
|
745
|
-
|
|
746
|
-
`
|
|
747
|
-
|
|
755
|
+
both of which are in place as of `0.1.0`:
|
|
756
|
+
|
|
757
|
+
1. On pypi.org, a trusted publisher on the `python-libei` project: owner
|
|
758
|
+
`ctrondlp`, repository `python-libei`, workflow `ci.yml`, environment
|
|
759
|
+
`pypi`. It started life as a **pending** publisher -- the flow for a
|
|
760
|
+
project with no releases yet -- and the first upload converted it into
|
|
761
|
+
an ordinary project-level one, so a fresh project is the only case that
|
|
762
|
+
needs the pending form again. Every field has to match the workflow
|
|
748
763
|
exactly; a mismatch surfaces as a rejected credential at upload time,
|
|
749
764
|
not when it is saved.
|
|
750
765
|
2. A GitHub environment named `pypi`, in the repository settings. A
|
|
751
766
|
required reviewer on it makes each publish a deliberate approval rather
|
|
752
767
|
than a side effect of pushing a tag.
|
|
753
768
|
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
769
|
+
PyPI filenames are immutable, so a bad upload can only be yanked and
|
|
770
|
+
superseded by a new version, never replaced -- worth rehearsing anything
|
|
771
|
+
unusual on TestPyPI first (separate account, separate pending publisher,
|
|
772
|
+
and `repository-url: https://test.pypi.org/legacy/` on the publish step).
|
|
758
773
|
|
|
759
774
|
## Design notes
|
|
760
775
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
libei/__init__.py,sha256=
|
|
1
|
+
libei/__init__.py,sha256=EWlmUgk0QL_TNN53lDU1ypnOVJcEJAUpNwsn1TUkKxQ,1511
|
|
2
2
|
libei/_cobject.py,sha256=msrbviABSWjc5fKsXHSCg7nQ0Y4Etcq_Dkh0fblW-sY,12845
|
|
3
3
|
libei/ei.py,sha256=Da3ezXnFPXtejlcJFH8bcE5f4pxKZXXqb6ltCh2zAdE,46704
|
|
4
4
|
libei/eis.py,sha256=aYWOCN1NlRchcWd6NjIUi1eYMFWJbp0UHMcQFEJ0ii4,43642
|
|
@@ -9,8 +9,8 @@ libei/_capi/libei.py,sha256=gpp42bhqPonhVD2zmFWCl4rdk_lm4XvD_7W2Rw5RsuI,11308
|
|
|
9
9
|
libei/_capi/libeis.py,sha256=jQR0Z0YN9qa71mAcSJ__-UaoF8PsVsBs8OXwjfqstFk,13080
|
|
10
10
|
libei/_capi/liboeffis.py,sha256=V8jdmJm3qOQUzzNiCAXt4Jr2JY11Y4-w6NIfIxbxGI4,1218
|
|
11
11
|
libei/_capi/loader.py,sha256=k7fb_Nz0fg5QkuLJ_duKXj8bESSktLQ2ZyS5LNQ5v2I,4689
|
|
12
|
-
python_libei-0.
|
|
13
|
-
python_libei-0.
|
|
14
|
-
python_libei-0.
|
|
15
|
-
python_libei-0.
|
|
16
|
-
python_libei-0.
|
|
12
|
+
python_libei-0.2.0.dist-info/licenses/LICENSE,sha256=l6xbMU6Y-JZDzmBciBj-J5t6h6jNg_Bcyp4bHxDepqU,1074
|
|
13
|
+
python_libei-0.2.0.dist-info/METADATA,sha256=tdUGfZwL_MtWeduTv8wRBmNhGo0jT04PnLRVbOR6eT0,36184
|
|
14
|
+
python_libei-0.2.0.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
|
|
15
|
+
python_libei-0.2.0.dist-info/top_level.txt,sha256=_DQXzGjDsUBENI_cNkiOxPB4xi8coCbQS1lq18FMudQ,6
|
|
16
|
+
python_libei-0.2.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|