Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Full rewrite. Supports mouse, multimedia keys, auto-reconnect, etc. #11

Open
wants to merge 592 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
592 commits
Select commit Hold shift + click to select a range
2fe3059
Include stacktrace
quaxalber Oct 20, 2023
5abe1c4
Merge pull request #32 from quaxalber/development
quaxalber Oct 20, 2023
b85cf7e
Include traceback
quaxalber Oct 20, 2023
e2784c8
Bump version
quaxalber Oct 20, 2023
a7af3cd
Merge pull request #33 from quaxalber/development
quaxalber Oct 20, 2023
e0e2ca1
Use pathlib instead of os.path
quaxalber Oct 21, 2023
00e82c0
Merge pull request #34 from quaxalber/development
quaxalber Oct 21, 2023
ec944a6
Use logging.exception instead of .error
quaxalber Oct 22, 2023
2e60dcd
Initialize sets with tuples for efficiency
quaxalber Oct 22, 2023
3f84bb1
Merge pull request #36 from quaxalber/development
quaxalber Oct 22, 2023
b77756c
Cache attribute lookup
quaxalber Oct 25, 2023
62e0dd9
Merge pull request #37 from quaxalber/development
quaxalber Oct 25, 2023
a750e9b
Add --list_devices argument
quaxalber Oct 28, 2023
a2384f3
Try installing Python 3.11 via apt before building
quaxalber Oct 28, 2023
88e4f6c
Merge pull request #38 from quaxalber/development
quaxalber Oct 28, 2023
b2c9ed9
Update docs to reflect latest changes
quaxalber Oct 28, 2023
0c8d665
Bump version
quaxalber Oct 28, 2023
723226c
Merge pull request #39 from quaxalber/development
quaxalber Oct 28, 2023
12658ef
Add error messages on abort
quaxalber Oct 29, 2023
8dd3037
Merge pull request #40 from quaxalber/development
quaxalber Oct 29, 2023
e16c24b
Install python3.11 in prerequisites
quaxalber Oct 29, 2023
964a433
Merge pull request #41 from quaxalber/development
quaxalber Oct 29, 2023
51d9a4f
Update exclusions
quaxalber Nov 18, 2023
fb09c23
Install submodules using pip in a venv
quaxalber Nov 18, 2023
493255e
Fix installation logic
quaxalber Nov 18, 2023
ea1ad01
Bump version
quaxalber Nov 18, 2023
083ccd1
Update terminal output
quaxalber Nov 18, 2023
963717b
Merge pull request #44 from quaxalber/development
quaxalber Nov 18, 2023
3ac09b0
Add error messages on abort
quaxalber Nov 19, 2023
3dee7dc
Re-enable history expansion before exiting
quaxalber Nov 19, 2023
e3d2d3d
Create update script
quaxalber Nov 19, 2023
686ef76
Not aborting after non-critical errors
quaxalber Nov 19, 2023
cc019ce
Show output of git fetch
quaxalber Nov 19, 2023
817be80
Check for changes by comparing hashes
quaxalber Nov 19, 2023
8fea4ba
Elaborate on Getting Started
quaxalber Nov 20, 2023
e676f78
Move scripts to folder
quaxalber Nov 20, 2023
75d1153
Create uninstall script
quaxalber Nov 20, 2023
d150e23
Select parent directory
quaxalber Nov 20, 2023
af5ddf0
Group and'ed commands
quaxalber Nov 20, 2023
7511a1b
Change to project dir
quaxalber Nov 20, 2023
eb6e6b1
Rename variables
quaxalber Nov 21, 2023
6e786f7
Rename build script
quaxalber Nov 21, 2023
b9c3d07
Add Update and Installation
quaxalber Nov 21, 2023
2221224
Bump version
quaxalber Nov 21, 2023
1b464bb
Test Submodule Update
quaxalber Nov 21, 2023
25acfd6
Check if there are changes in any submodule
quaxalber Nov 21, 2023
150186e
Test Submodule Update
quaxalber Nov 21, 2023
848bd6c
Check output of fetch
quaxalber Nov 21, 2023
5919828
Test Submodule Update
quaxalber Nov 21, 2023
f60c6f7
Cleanup code for device reset
ig-sinicyn Nov 21, 2023
3d910f7
Update overview comment
quaxalber Nov 23, 2023
5b584ad
Specify supported devices more explicitly
quaxalber Nov 23, 2023
259c97b
Merge pull request #45 from quaxalber/development
quaxalber Nov 23, 2023
78193ab
Minor enhancements
quaxalber Nov 23, 2023
cd6b972
Minor enhancements
quaxalber Nov 24, 2023
6ed4a26
Fix misplaced quote in symlink creation
quaxalber Nov 25, 2023
118615a
Merge pull request #48 from quaxalber/symlink-fix
quaxalber Nov 25, 2023
3229ba2
Merge remote-tracking branch 'origin/main' into development
quaxalber Nov 25, 2023
14f05d8
Quality assurance pass:
quaxalber Nov 25, 2023
0e1cfa5
Merge pull request #47 from ig-sinicyn/feature/reconnect-v2
quaxalber Nov 27, 2023
36c5c95
Merge remote-tracking branch 'origin/main' into development
quaxalber Nov 27, 2023
9a416ab
Major refactoring of the code base
quaxalber Nov 28, 2023
47e857a
Fix imports
quaxalber Nov 28, 2023
1bb8086
Enable gadgets first
quaxalber Nov 28, 2023
7cf54f7
Fix type check
quaxalber Nov 28, 2023
b8ec18b
Fix debug output
quaxalber Nov 28, 2023
577faf6
Fix debug output
quaxalber Nov 28, 2023
04f4be9
Fix debug output
quaxalber Nov 28, 2023
6b1d570
Rename function
quaxalber Nov 28, 2023
63fee85
Add shebang
quaxalber Nov 28, 2023
07d3780
Change shebang to venv
quaxalber Nov 28, 2023
8398d8e
Move venv placeholder
quaxalber Nov 28, 2023
8b85ffa
Print help if no arguments were provided
quaxalber Nov 28, 2023
7ed8976
Adapt paths
quaxalber Nov 28, 2023
91c3995
Incorporate v0.5.0 changes
quaxalber Nov 28, 2023
45dd302
Bump version
quaxalber Nov 28, 2023
6a3ebeb
Merge pull request #49 from quaxalber/development
quaxalber Nov 28, 2023
4a0c1c1
Test BOOT_KEYBOARD
quaxalber Nov 28, 2023
a03a8da
Test MOUSE
quaxalber Nov 28, 2023
8b7852a
Test KEYBOARD
quaxalber Nov 28, 2023
19311e1
Minor enhancements for better clarity
quaxalber Nov 29, 2023
2037578
Update evdev submodule
quaxalber Nov 29, 2023
0956c57
Delay no args check
quaxalber Nov 29, 2023
ee65cd8
Test
quaxalber Nov 29, 2023
edacc71
Test
quaxalber Nov 29, 2023
00de79f
Fix retrieving fetch output
quaxalber Nov 29, 2023
54f9a37
Test
quaxalber Nov 29, 2023
52df600
Rename symbols for clarity
quaxalber Nov 29, 2023
df19a3d
Minor enhancements
quaxalber Nov 29, 2023
3ac985b
Merge pull request #50 from quaxalber/development
quaxalber Nov 29, 2023
23acdad
Fix duplicate connection
quaxalber Nov 29, 2023
a555325
Fix optional args
quaxalber Nov 29, 2023
d6a0e27
Bump version
quaxalber Nov 29, 2023
ce1bc4c
Merge pull request #51 from quaxalber/development
quaxalber Nov 29, 2023
30d8cec
Make task-related methods non-async
quaxalber Nov 30, 2023
d0e1dcb
Merge pull request #52 from quaxalber/development
quaxalber Nov 30, 2023
1da0463
Remove unnecessary whitespace
quaxalber Nov 30, 2023
290483b
Fix duplicate key mappings
quaxalber Dec 1, 2023
9595977
Bump version
quaxalber Dec 1, 2023
f48f7de
Merge pull request #54 from quaxalber/development
quaxalber Dec 1, 2023
4e3c309
Minor enhancements
quaxalber Dec 1, 2023
bbe849d
Minor enhancements
quaxalber Dec 1, 2023
1cc29f8
Implement device ID (#5) & auto-discovery (#6)
quaxalber Dec 2, 2023
d36fabc
Use .exception() for TaskGroup
quaxalber Dec 2, 2023
b82f5b1
Initialize attributes
quaxalber Dec 2, 2023
79defd5
Use device.path as dict key
quaxalber Dec 2, 2023
72f051b
Add debug output
quaxalber Dec 2, 2023
9e8dbd4
Add debug output
quaxalber Dec 2, 2023
09a461d
Add debug output
quaxalber Dec 2, 2023
257788f
Make discovery async
quaxalber Dec 2, 2023
cbb0e8d
Remove debug output
quaxalber Dec 2, 2023
5ac375f
Make auto-discovery default
quaxalber Dec 2, 2023
03b814a
Don't exclude vc4-hdmi
quaxalber Dec 2, 2023
ca5aff9
Rename device_tasks to relay_tasks
quaxalber Dec 2, 2023
bb8a82b
Make debug output info
quaxalber Dec 2, 2023
bc7c8b0
Adapt docs to v0.6.0
quaxalber Dec 2, 2023
e727d47
Adapt docs to v0.6.0
quaxalber Dec 2, 2023
972af50
Merge pull request #55 from quaxalber/development
quaxalber Dec 2, 2023
4f0368f
Use AsyncGenerator for device discovery
quaxalber Dec 3, 2023
6c9dbef
Use | in sed to avoid escaping
quaxalber Dec 3, 2023
54e78bf
Minor enhancements
quaxalber Dec 3, 2023
1e9a99d
Fix missing await
quaxalber Dec 3, 2023
b77dee4
Update debug output
quaxalber Dec 3, 2023
805deec
Bump version
quaxalber Dec 3, 2023
1a1b213
Merge pull request #57 from quaxalber/development
quaxalber Dec 3, 2023
80cb08d
Minor enhancements
quaxalber Dec 4, 2023
c8c6287
Use executor for non-async IO-bound methods
quaxalber Dec 4, 2023
66765d3
Enhance debug output
quaxalber Dec 4, 2023
fc6427a
Enhance debug output
quaxalber Dec 4, 2023
061ba94
Enhance debug output
quaxalber Dec 4, 2023
6195a78
Update docs to 0.6.2
quaxalber Dec 4, 2023
1f356c8
Bump version
quaxalber Dec 4, 2023
5972173
Merge pull request #60 from quaxalber/development
quaxalber Dec 4, 2023
b0d0420
Fix debug output
quaxalber Dec 4, 2023
351e0d8
Fix debug output
quaxalber Dec 4, 2023
bcb5be7
Update README.md
quaxalber Dec 4, 2023
3e48ac8
Merge pull request #61 from quaxalber/development
quaxalber Dec 4, 2023
46439ca
Minor improvements
quaxalber Dec 5, 2023
91013f4
Create pyproject.toml
quaxalber Dec 5, 2023
adf577c
Merge pull request #63 from quaxalber/development
quaxalber Dec 5, 2023
360b4b3
Add keywords
quaxalber Dec 6, 2023
20e2bdc
Remove class IdentifierType
quaxalber Dec 6, 2023
d3b8d89
Update debug output
quaxalber Dec 6, 2023
7510909
Bump version
quaxalber Dec 6, 2023
ca8544d
Add note
quaxalber Dec 6, 2023
3f259a7
Merge pull request #64 from quaxalber/development
quaxalber Dec 6, 2023
92011f5
Create src dir for packaging (#15)
quaxalber Dec 6, 2023
20e3467
Merge pull request #65 from quaxalber/development
quaxalber Dec 6, 2023
4a9ddef
Use dot references
quaxalber Dec 6, 2023
bbbe88f
Remove IdentifierType
quaxalber Dec 6, 2023
8245c2d
Merge pull request #66 from quaxalber/development
quaxalber Dec 6, 2023
90ec845
Add setuptools_scm
quaxalber Dec 6, 2023
403a6fb
Update submodule
quaxalber Dec 6, 2023
96d2101
Merge pull request #67 from quaxalber/development
quaxalber Dec 6, 2023
e916ca4
Change LICENSE.md to LICENSE
quaxalber Dec 7, 2023
969aff5
Merge pull request #68 from quaxalber/development
quaxalber Dec 7, 2023
1f14100
Fix doc paths
quaxalber Dec 7, 2023
f6bf3bc
Merge pull request #69 from quaxalber/development
quaxalber Dec 7, 2023
55d0733
Allow workflow to be run manually too
quaxalber Dec 7, 2023
727bc7f
Merge pull request #70 from quaxalber/development
quaxalber Dec 7, 2023
904bf61
Update dependencies
quaxalber Dec 8, 2023
101c985
Merge pull request #71 from quaxalber/development
quaxalber Dec 8, 2023
266c269
Remove dispatcher
quaxalber Dec 8, 2023
0f6f479
Merge pull request #72 from quaxalber/development
quaxalber Dec 8, 2023
c5ab544
Fix missing bracket
quaxalber Dec 8, 2023
8fff159
Merge pull request #73 from quaxalber/development
quaxalber Dec 8, 2023
9a3e954
Install dependencies from PyPI
quaxalber Dec 8, 2023
080d42c
Use tee instead of script
quaxalber Dec 8, 2023
b135a73
Remove apt upgrade and autoremove
quaxalber Dec 8, 2023
a4912fc
Use apt-get
quaxalber Dec 8, 2023
e80220d
Merge pull request #76 from quaxalber/development
quaxalber Dec 9, 2023
a0ea0da
Bump version
quaxalber Dec 9, 2023
752a400
Chmod scripts
quaxalber Dec 9, 2023
2df6d50
Update install.sh
quaxalber Dec 9, 2023
cc2ab6d
Merge pull request #77 from quaxalber/quaxalber-patch-1
quaxalber Dec 9, 2023
4a678cc
Chmod scripts executable
quaxalber Dec 9, 2023
750cae2
Merge remote-tracking branch 'origin/main' into development
quaxalber Dec 9, 2023
7f1e58a
Bump version
quaxalber Dec 9, 2023
c94db71
Merge pull request #78 from quaxalber/development
quaxalber Dec 9, 2023
45e87b0
Chmod main script executable
quaxalber Dec 10, 2023
e6b1f0d
Use shell wrapper script that activates venv
quaxalber Dec 10, 2023
3d1302a
Chmod scripts
quaxalber Dec 10, 2023
f49c5b2
Remove dot imports
quaxalber Dec 10, 2023
e553f09
Add blank line
quaxalber Dec 10, 2023
e9035b2
Modify log messages
quaxalber Dec 10, 2023
fb6b60c
Bump version
quaxalber Dec 10, 2023
53d9ee1
Merge pull request #80 from quaxalber/development
quaxalber Dec 10, 2023
7f2aead
Update performs a clean reinstall
quaxalber Dec 10, 2023
e07b8a2
Fix executable path
quaxalber Dec 10, 2023
3b0cb37
Preserve repo ownership
quaxalber Dec 10, 2023
d2e6f89
Fix stat dir
quaxalber Dec 10, 2023
5e74862
Remove constraints
quaxalber Dec 10, 2023
0feb5d7
Re-enable constraints
quaxalber Dec 11, 2023
e3c0721
Preserve currently checked out branch
quaxalber Dec 11, 2023
e666cc5
Add cleanup function
quaxalber Dec 11, 2023
8671b95
Add cd to parent dir
quaxalber Dec 11, 2023
fdc9fe3
Adapt reboot hint
quaxalber Dec 11, 2023
8087dab
Adapt to latest script changes
quaxalber Dec 11, 2023
4cc0108
Remove unnecessary blank lines
quaxalber Dec 11, 2023
777be28
Merge pull request #81 from quaxalber/development
quaxalber Dec 11, 2023
e1f72b9
Update to v0.6.6
quaxalber Dec 11, 2023
dcee4bf
Add adafruit-circuitpython-typing
quaxalber Dec 11, 2023
20f4838
Set fixed version
quaxalber Dec 11, 2023
16f436c
Fix missing =
quaxalber Dec 11, 2023
6ff5b10
Merge pull request #82 from quaxalber/development
quaxalber Dec 11, 2023
e74a0d5
Reduce delays
quaxalber Dec 11, 2023
3821387
Keep track of relayed devices
quaxalber Dec 11, 2023
86bc869
Add debug output
quaxalber Dec 11, 2023
e0eeab7
Initialize gadgets once and share across module
quaxalber Dec 11, 2023
31f2063
Move device functions to __init__.py
quaxalber Dec 11, 2023
b61f402
Move device functions back to relay.py
quaxalber Dec 12, 2023
c438fe1
Remove temporary debug output
quaxalber Dec 12, 2023
6896322
Defer USB device init
quaxalber Dec 12, 2023
9be8f1d
Merge pull request #84 from quaxalber/development
quaxalber Dec 12, 2023
477abae
Check gadget state on relay init
quaxalber Dec 12, 2023
f4c290f
Improve gadget init debug output
quaxalber Dec 12, 2023
9762f9b
Update to v0.6.7
quaxalber Dec 12, 2023
a5a07a1
Merge pull request #85 from quaxalber/development
quaxalber Dec 12, 2023
f043163
Show versions before updating
quaxalber Dec 12, 2023
8b96343
Change to project dir first
quaxalber Dec 12, 2023
3bad5c7
Use variables instead of hard-coded paths
quaxalber Dec 12, 2023
f52c0e0
Make user owner of all files
quaxalber Dec 12, 2023
60254f8
Leave chmod to install.sh
quaxalber Dec 12, 2023
50b5fb8
Preserve ownership before installing
quaxalber Dec 12, 2023
2230a61
Merge pull request #86 from quaxalber/development
quaxalber Dec 12, 2023
fa6b49d
Implemented grabbing input device (#58)
cylonid Dec 13, 2023
4084842
Update docs to 0.7.0 (#87)
quaxalber Dec 13, 2023
6a43b05
Update docs to 0.7.0 (#88)
quaxalber Dec 13, 2023
f667797
Use asyncio.all_tasks() again to check if relay is active (#89)
quaxalber Dec 13, 2023
8de4fc4
Reformat help texts (#90)
quaxalber Dec 13, 2023
3d7c4b9
Add Arguments.__str__() (#91)
quaxalber Dec 13, 2023
417e643
Add Arguments.__str__() (#92)
quaxalber Dec 14, 2023
236c279
Improve debug output (#93)
quaxalber Dec 15, 2023
c7cda4c
Update docs to v0.7.2 (#94)
quaxalber Dec 15, 2023
eed9070
Make venv dir non-hidden
quaxalber Dec 15, 2023
636c796
Fix device representation
quaxalber Dec 15, 2023
1dba428
Fix device representation (#97)
quaxalber Dec 15, 2023
48e08b3
Raise errors if gadgets not initialized
quaxalber Dec 16, 2023
ce4fa52
Update docs to v0.7.4 (#98)
quaxalber Dec 16, 2023
0293846
Build Arguments.__str__() dynamically (#99)
quaxalber Dec 16, 2023
d4917d7
Freeze requirements (#100)
quaxalber Dec 17, 2023
3dc9a99
Add missing requirements (#101)
quaxalber Dec 17, 2023
2edbca8
Minor improvements (#102)
quaxalber Dec 17, 2023
d4dfac5
Allow manually triggering publish workflow (#103)
quaxalber Dec 17, 2023
6c007d5
Rename symbols (#104)
quaxalber Dec 17, 2023
95aff6b
Improve documentation (#105)
quaxalber Dec 17, 2023
5b7cf7e
Try listing input devices, wait on failure (#107)
quaxalber Dec 22, 2023
2e64a09
Clean up DeviceIdentifier (#108)
quaxalber Dec 24, 2023
fcdd3d2
Set new overview image (#109)
quaxalber Jan 6, 2024
21fda2e
Fix: Install python3-dev (#119)
quaxalber May 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions .github/workflows/python-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# This workflow will upload a Python Package using Twine when a release is created
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

name: Upload Python Package

on:
release:
types: [published]
workflow_dispatch:
inputs:
version:
description: "Package Version"
required: true
default: ""

permissions:
contents: read

jobs:
deploy:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: "3.11"
- name: Set package version
run: |
if [ -z "${{ github.event.inputs.version }}" ]; then
VERSION=$(git describe --tags)
VERSION=${VERSION#v}
echo "VERSION=$VERSION" >> $GITHUB_ENV
else
echo "VERSION=${{ github.event.inputs.version }}" >> $GITHUB_ENV
fi
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build
- name: Build package
run: python -m build --version $VERSION
- name: Publish package
uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
163 changes: 160 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,160 @@
.idea/*
.git/*
wip/*
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
128 changes: 128 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
# Contributor Covenant Code of Conduct

## Our Pledge

We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.

## Our Standards

Examples of behavior that contributes to a positive environment for our
community include:

* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community

Examples of unacceptable behavior include:

* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Enforcement Responsibilities

Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.

Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.

## Scope

This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
[email protected].
All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the
reporter of any incident.

## Enforcement Guidelines

Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:

### 1. Correction

**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.

**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.

### 2. Warning

**Community Impact**: A violation through a single incident or series
of actions.

**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.

### 3. Temporary Ban

**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.

**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.

### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within
the community.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.

Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).

[homepage]: https://www.contributor-covenant.org

For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.
Loading