The bits of software that synchronize and manage members between various systems.
This repository has been archived on 2024-02-23. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2023-09-22 22:14:39 -04:00
memberPlumbing upcomingEvents: Use cleaner datetime format 2023-09-22 22:13:03 -04:00
systemd Add systemd units for ucsAccounts 2020-07-18 23:52:49 -04:00
.gitignore Rewrite common.py into a more generic Config class 2020-04-26 21:11:13 -04:00
config.example.yaml ucsAccounts: Rewrite using udm_rest_client, allowing remote operation 2020-07-18 23:52:49 -04:00
pdm.lock Migrate from poetry to pdm, bumping dependency/Python versions 2023-09-22 22:14:39 -04:00
pdm.toml Migrate from poetry to pdm, bumping dependency/Python versions 2023-09-22 22:14:39 -04:00
pyproject.toml Migrate from poetry to pdm, bumping dependency/Python versions 2023-09-22 22:14:39 -04:00
README.md Slightly simplify non-poetry invocation in README 2022-10-28 15:54:58 -04:00
renovate.json Add renovate.json 2023-03-02 05:18:20 +00:00

Claremont MakerSpace Member Plumbing

This repo contains a set of scripts to sync data around for the Claremont MakerSpace. They primarily revolve around pulling member data from MembershipWorks and pushing it out to various systems at the Space.

Setup

This project uses Poetry for dependency management. Typical usage is first running poetry install to create a virtualenv and install dependencies, then running poetry run <script> to start a specific script.

Config

Many of the scripts use data from a config.yaml in the current working directory when they are run. There is an example config in config.example.yaml which has been stripped of authentication information.

Scripts

The primary entry points have scripts entries (tool.poetry.scripts) in pyproject.toml. They assume that they are being run from a module, so must be run with poetry run <script> or python -m memberPlumbing.<script>.

doorUpdater

Retrieves member information from MembershipWorks and pushes it out to the HID Edge Evo SOLO controllers that do access control at the Space. Configuration lives in config.yaml.

ucsAccounts

Retrieves member information from MembershipWorks and pushes it out to UCS, which we use as a domain controller for the Windows computers at the Space.

sqlExport

Retrieves account and transaction information from MembershipWorks, and pushes it to a MariaDB database for use in other projects. Schemas are defined with peewee in memberPlumbing/mw_models.py.

upcomingEvents

Retrieves upcoming events from MembershipWorks and formats them for a WordPress post.

hidEvents

Retrieves events from the HID Evo Solo door controllers, and pushes them to a SQL database.

Systemd

There are systemd units in the systemd folder, which can be used to run the various scripts regularly.