memberjojo - tools for working with members.
Project description
memberjojo
memberjojo is a Python library for managing Membermojo
data from CSV imports.
It provides member database interactions, and transaction querying.
This is done in a local SQLite database, and does not alter anything on Membermojo.
It provides tools to load, and query membership and transaction data efficiently
without having to use SQLite directly.
When importing CSV files existing entries are skipped, so you can just import the
latest download and the local database is updated with new entries.
All the transaction data is imported into the database,
but currently only a limited amount of member data is imported.
Installation
Install via pip:
pip install memberjojo
Or clone the repo and install locally with flit:
git clone https://github.com/a16bitsysop/memberjojo.git
cd memberjojo
flit install --symlink
Usage
Example loading members and using Member objects:
from pathlib import Path
from membermojo import Member
# database is created if it does not exist
member_database_path = Path(Path(__file__).parent, "database", "my-members.db")
member_csv_path = Path("download", "members.csv")
members = Member(member_database_path)
members.import_csv(member_csv_path)
for member in members:
print(member.first_name, member.last_name, member.member_num)
# Get full name for a given member number
found_name = members.get_name(1)
if found_name:
print(f"Member with id of 1 is {found_name}")
else:
print("Member 1 does not exist")
Documentation
Full documentation is available at
👉 https://a16bitsysop.github.io/memberjojo/
Running Tests
Run tests:
pytest
Contributing
Contributions are welcome! Please:
- Fork the repo
- Create your feature branch
git checkout -b my-feature - Edit the source code to add and test your changes
- Commit your changes
git commit -m 'Add some feature' - Push to your branch
git push origin my-feature - Open a Pull Request
Please follow the existing code style and write tests for new features.
License
This project is licensed under the MIT MIT License.
Contact
Created and maintained by Duncan Bellamy. Feel free to open issues or reach out on GitHub.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file memberjojo-1.2.tar.gz.
File metadata
- Download URL: memberjojo-1.2.tar.gz
- Upload date:
- Size: 13.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b1fe11332a732f7435f24eba1ccd0c5a5321b8b7525b1ac023ed99d44e21580a
|
|
| MD5 |
200d000d8a544a997bc4a387719e7ccc
|
|
| BLAKE2b-256 |
3938f603d3305a63b6c37b4610e3e6ba2e2ec58103f582575181ac473deb093d
|
Provenance
The following attestation bundles were made for memberjojo-1.2.tar.gz:
Publisher:
publish.yaml on a16bitsysop/memberjojo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
memberjojo-1.2.tar.gz -
Subject digest:
b1fe11332a732f7435f24eba1ccd0c5a5321b8b7525b1ac023ed99d44e21580a - Sigstore transparency entry: 715525137
- Sigstore integration time:
-
Permalink:
a16bitsysop/memberjojo@30b3ecb9d5edc68b81a10ea15705eb918a534792 -
Branch / Tag:
refs/tags/v1.2 - Owner: https://github.com/a16bitsysop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@30b3ecb9d5edc68b81a10ea15705eb918a534792 -
Trigger Event:
push
-
Statement type:
File details
Details for the file memberjojo-1.2-py3-none-any.whl.
File metadata
- Download URL: memberjojo-1.2-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2481d074624597632e1862757c7cf19734fb5ccd17f9e2f74e2730acc16d568a
|
|
| MD5 |
37886d21af5a1f16b4a9cff04e012e90
|
|
| BLAKE2b-256 |
186142a7ce329d8fed95f739c249c7fd9fb9c9be6b50c7e250c2e02e42edfb85
|
Provenance
The following attestation bundles were made for memberjojo-1.2-py3-none-any.whl:
Publisher:
publish.yaml on a16bitsysop/memberjojo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
memberjojo-1.2-py3-none-any.whl -
Subject digest:
2481d074624597632e1862757c7cf19734fb5ccd17f9e2f74e2730acc16d568a - Sigstore transparency entry: 715525143
- Sigstore integration time:
-
Permalink:
a16bitsysop/memberjojo@30b3ecb9d5edc68b81a10ea15705eb918a534792 -
Branch / Tag:
refs/tags/v1.2 - Owner: https://github.com/a16bitsysop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@30b3ecb9d5edc68b81a10ea15705eb918a534792 -
Trigger Event:
push
-
Statement type: