Skip to main content

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:

  1. Fork the repo
  2. Create your feature branch git checkout -b my-feature
  3. Edit the source code to add and test your changes
  4. Commit your changes git commit -m 'Add some feature'
  5. Push to your branch git push origin my-feature
  6. 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

memberjojo-1.2.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

memberjojo-1.2-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

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

Hashes for memberjojo-1.2.tar.gz
Algorithm Hash digest
SHA256 b1fe11332a732f7435f24eba1ccd0c5a5321b8b7525b1ac023ed99d44e21580a
MD5 200d000d8a544a997bc4a387719e7ccc
BLAKE2b-256 3938f603d3305a63b6c37b4610e3e6ba2e2ec58103f582575181ac473deb093d

See more details on using hashes here.

Provenance

The following attestation bundles were made for memberjojo-1.2.tar.gz:

Publisher: publish.yaml on a16bitsysop/memberjojo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for memberjojo-1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2481d074624597632e1862757c7cf19734fb5ccd17f9e2f74e2730acc16d568a
MD5 37886d21af5a1f16b4a9cff04e012e90
BLAKE2b-256 186142a7ce329d8fed95f739c249c7fd9fb9c9be6b50c7e250c2e02e42edfb85

See more details on using hashes here.

Provenance

The following attestation bundles were made for memberjojo-1.2-py3-none-any.whl:

Publisher: publish.yaml on a16bitsysop/memberjojo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page