Skip to content

Commit

Permalink
Merge pull request #39 from katie-snow/ra/jsonobject
Browse files Browse the repository at this point in the history
Update install configuration
  • Loading branch information
katie-snow authored May 21, 2023
2 parents da1117f + 4d9ad7f commit b827edb
Show file tree
Hide file tree
Showing 19 changed files with 295 additions and 170 deletions.
38 changes: 38 additions & 0 deletions .github/workflows/coverage.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Coverage

on: [push]

jobs:
coverage:

runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python 3.11
uses: actions/setup-python@v4
with:
python-version: 3.11
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install coverage
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Run Coverage
run: |
export PYTHONPATH=./src
coverage run -m unittest discover -v -s tests
- name: Generate Coverage Report
run: |
coverage report
- name: Creating coverage folder
run: |
mkdir -p coverage
- name: Coverage Badge
uses: tj-actions/coverage-badge-py@v1.8
with:
output: coverage/coverage.svg
- name: Publish coverage report to coverage-badge branch
uses: JamesIves/github-pages-deploy-action@v4
with:
branch: coverage-badge
folder: coverage
26 changes: 26 additions & 0 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Tests

on: [push]

jobs:
unittests:

runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]

steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Run Unittests
run: |
export PYTHONPATH=./src
python -m unittest discover -v -s tests
62 changes: 0 additions & 62 deletions README.md

This file was deleted.

97 changes: 97 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
|badge1| |badge2| |badge3|

.. |badge1| image:: https://github.com/katie-snow/QtPyUltimarc/actions/workflows/tests.yaml/badge.svg
:alt: Unittest Completion Status
.. |badge2| image:: https://raw.githubusercontent.com/katie-snow/QtPyUltimarc/coverage-badge/coverage.svg?raw=true
:alt: Code Coverage Status
.. |badge3| image:: https://img.shields.io/badge/python-v3.7%20|%20v3.8%20|%20v3.9%20|%20v3.10%20|%20v3.11-blue
:alt: Python v3.7, v3.8, v3.9, v3.10, v3.11


****************************************************************************************
Python Ultimarc Tools: Python tools for managing Ultimarc devices
****************************************************************************************

The **Python Ultimarc** tools are a pure python implementation and cross platform set of command line tools, graphical
tool and python library for managing Ultimarc USB arcade devices, for more information about Ultimarc devices
visit https://www.ultimarc.com.

Get It Now
==========

To install only the command line tools, run:
::

$ pip install ultimarc

To install both the command line and graphical tools, run:
::

$ pip install ultimarc[ui]


Graphical Tool
==============

To launch the graphical configration tool, run:
::

$ ultimarc-ui

The graphical tool supports managing plugged in devices, along with creating and editing configuration files for
unplugged devices.


Command Line Tools
==================

The command line tools are a set of tools to inspect and manage different Ultimarc devices. The tools are launched by
executing '**ultimarc**' in a terminal command window. To view the available tool commands, run the tool with the
'--help' argument:
::

$ ultimarc --help

usage: python -m tools [command] [-h|--help] [args]

available commands:
ipac2 : Manage ipac2 devices
ipac4 : Manage ipac4 devices
jpac : Manage jpac devices
list : list all attached ultimarc devices
mini-pac : Manage Mini-pac devices
usb-button : manage usb-button devices.

To view the help for a specific tool, add the tool name and use the '--help' argument:
::

$ ultimarc list --help

usage: list [-h] [--debug] [--log-file] [-q] [--bus BUS] [--address ADDRESS] [-c CLASS_ID] [-d]

list all attached ultimarc devices

optional arguments:
-h, --help show this help message and exit
--debug enable debug output
--log-file write output to a log file
-q, --quiet suppress normal output
--bus BUS filter by usb device bus number
--address ADDRESS filter by usb device address number
-c CLASS_ID, --class-id CLASS_ID
filter by device class id
-d, --descriptors Show device descriptor values.

class ids: usb-button,aimtrak,mini-pac,ipac2,ipac4,jpac


Project Links
=============

- PyPI: https://pypi.python.org/pypi/python-easy-json
- Issues: https://github.com/katie-snow/QtPyUltimarc/issues

License
=======

GPL-3.0 licensed. See the bundled `LICENSE <https://github.com/katie-snow/QtPyUltimarc/blob/main/LICENSE>` file for more details.
2 changes: 2 additions & 0 deletions requirements.in
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,5 @@ libusb
# JSON Schema Validation
jsonschema

# JSONObject
python_easy_json
66 changes: 55 additions & 11 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,18 +1,62 @@
#
# This file is autogenerated by pip-compile
# To update, run:
# This file is autogenerated by pip-compile with Python 3.9
# by the following command:
#
# pip-compile
#
attrs==20.3.0 # via jsonschema
babel==2.9.0 # via -r requirements.in
jsonschema==3.2.0 # via -r requirements.in
libusb==1.0.23b7 # via -r requirements.in
pyrsistent==0.17.3 # via jsonschema
pyside6==6.0.2 # via -r requirements.in
pytz==2020.5 # via babel
shiboken6==6.0.2 # via pyside6
six==1.15.0 # via jsonschema
attrs==23.1.0
# via jsonschema
babel==2.12.1
# via -r requirements.in
dateutils==0.6.12
# via python-easy-json
importlib-metadata==6.6.0
# via pkg-about
importlib-resources==5.12.0
# via pkg-about
jsonschema==4.17.3
# via -r requirements.in
libusb==1.0.26b5
# via -r requirements.in
packaging==23.1
# via pkg-about
pkg-about==1.0.8
# via libusb
pyrsistent==0.19.3
# via jsonschema
pyside6==6.5.0
# via -r requirements.in
pyside6-addons==6.5.0
# via pyside6
pyside6-essentials==6.5.0
# via
# pyside6
# pyside6-addons
python-dateutil==2.8.2
# via
# dateutils
# python-easy-json
python-easy-json==1.1.2
# via -r requirements.in
pytz==2023.3
# via
# dateutils
# python-easy-json
shiboken6==6.5.0
# via
# pyside6
# pyside6-addons
# pyside6-essentials
six==1.16.0
# via
# python-dateutil
# python-easy-json
tomli==2.0.1
# via pkg-about
zipp==3.15.0
# via
# importlib-metadata
# importlib-resources

# The following packages are considered to be unsafe in a requirements file:
# setuptools
56 changes: 56 additions & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -1,3 +1,59 @@
[metadata]
name = PyUltimarc
description = Tools for configuring Ultimarc USB devices
url = https://github.com/katie-snow/QtPyUltimarc
author = Katie Snow
author_email = snowywhitewater@gmail.com
license = GNU General Public License v3 (GPLv3)


version = 1.0.0-alpha.2


project_urls =
Homepage = https://github.com/katie-snow/QtPyUltimarc

classifiers =
Development Status :: 3 - Alpha
Intended Audience :: Developers
License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Operating System :: MacOS :: MacOS X
Operating System :: Microsoft :: Windows
Operating System :: POSIX :: Linux
Environment :: Console
Environment :: X11 Applications :: Qt
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
Programming Language :: Python :: 3.12
Topic :: Games/Entertainment :: Arcade
Topic :: System :: Hardware :: Universal Serial Bus (USB)

long_description = file: README.md
long_description_content_type = text/markdown
license_files = LICENSE

[options]
python_requires = >= 3.7
packages = ultimarc
install_requires =
babel >= 2.12.1
libusb >= 1.0.26b5
jsonschema >= 4.17.3
python-easy-json >= 1.1.2

[options.extras_require]
ui =
pyside6==6.5.0

[options.entry_points]
console_scripts =
ultimarc = ultimarc.tools.__main__:run
gui_scripts =
ultimarc-ui = ultimarc.main

[extract_messages]
input_dirs = ultimarc
Expand Down
Loading

0 comments on commit b827edb

Please sign in to comment.