A Python package for checking professional registration status across various certification bodies, particularly useful for architecture.
It can check the NSW and QLD ARBs at the moment, but there's potential to add more in the future.
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
✨ THIS IS BRAND NEW ✨
✨ ✨
✨There could well be all kinds of issues ✨
✨but if you're here, you're probably ✨
✨the kind of person who can help me find ✨
✨them and fix them! ✨
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
If you're a NSW or QLD architecture practice, then you'll need to keep track of how your people represent themselves on the internet. This can help by checking the registration status of all the registrations that people hold (as long as it's in the list of bodies that this checks, which is only NSW and QLD's ARBs at the moment)
pip install arch-reggie
from reggie import RegistrationProcessor, ProcessingConfig
# Initialize with default configuration
processor = RegistrationProcessor()
# Process a CSV file - default expects columns: Email, Full Name, LinkedIn URL, State Board Name, Registration Number, State Board Code
results = processor.process_csv("path/to/your/registrations.csv")
# Save results as JSON
processor.save_json(results, "output.json")
The default configuration expects a headerless CSV with these columns in order:
- Full Name
- LinkedIn URL
- State Board Name (e.g., "NSW Architects Registration Board")
- Registration Number
- State Board Code (e.g., "NSW", "QLD")
- NSW Architects Registration Board
- Board of Architects of Queensland
Northern Territory Architects Boardnot yetArchitects Registration Board of Victorianot yetRegistered Design Practitioner NSWnot yet
The package works out-of-the-box with the standard CSV format, but supports custom configuration:
from reggie import RegistrationProcessor, ProcessingConfig
# For different CSV formats, customize the configuration
config = ProcessingConfig(
# If your CSV has different column names:
column_names=["email", "name", "linkedin", "body", "number", "state"],
email_column="email",
full_name_column="name",
# Processing options:
check_registrations=True, # Set to False to skip web scraping
selenium_headless=True, # Set to False to see browser window
output_format="json"
)
processor = RegistrationProcessor(config=config)
See CONTRIBUTING.md for development setup and guidelines.
MIT License - see LICENSE file for details.