Faculties and departments data for FUTO (Federal University of Technology Owerri), with helper utilities.
Project description
futo-departments
Python-first data package for FUTO (Federal University of Technology Owerri) faculties and departments — with runtime helpers, abbreviation maps, formatters, and validation functions.
Works in any Python environment: Python 3.8+, Django, Flask, FastAPI, etc.
Installation
pip install futo-departments
Data
Raw list
from futo_departments import faculties, departments, faculty_departments
print(faculties) # list of 12 schools/colleges
print(departments) # list of 58 departments
faculty_departments["School of Information & Communication Technology"]
# ['Computer Science', 'Software Engineering', 'Cyber Security', 'Information Technology']
Abbreviation maps
from futo_departments import department_abbreviations, faculty_abbreviations
department_abbreviations["Computer Science"] # "CSC"
department_abbreviations["Human Anatomy"] # "ANA"
faculty_abbreviations["College of Medicine"] # "COM"
faculty_abbreviations["School of Physical Sciences"] # "SOPS"
Helper functions
Faculty ↔ Department lookups
from futo_departments import get_departments_by_faculty, get_faculty_by_department
get_departments_by_faculty("School of Physical Sciences")
# ['Mathematics', 'Physics', 'Chemistry', 'Statistics', 'Science Laboratory Technology']
get_departments_by_faculty("Unknown Faculty")
# returns full departments list as fallback
get_faculty_by_department("Computer Science")
# "School of Information & Communication Technology"
get_faculty_by_department("Witchcraft & Wizardry")
# None
Abbreviation lookups
from futo_departments import (
get_department_abbreviation,
get_faculty_abbreviation,
get_department_by_abbreviation,
get_faculty_by_abbreviation,
list_departments_with_abbreviations,
list_faculties_with_abbreviations
)
get_department_abbreviation("Computer Science") # "CSC"
get_department_abbreviation("Unknown Dept") # None
get_faculty_abbreviation("College of Medicine") # "COM"
get_faculty_abbreviation("Unknown Faculty") # None
get_department_by_abbreviation("CSC") # "Computer Science"
get_department_by_abbreviation("csc") # "Computer Science"
get_department_by_abbreviation("XYZ") # None
get_faculty_by_abbreviation("COM") # "College of Medicine"
get_faculty_by_abbreviation("XYZ") # None
list_departments_with_abbreviations()
# [{'name': 'Computer Science', 'abbreviation': 'CSC'}, ...]
list_faculties_with_abbreviations()
# [{'name': 'College of Medicine', 'abbreviation': 'COM'}, ...]
Formatters
from futo_departments import shorten_department, shorten_faculty, format_name, mask_reg_number
shorten_department("Computer Science") # "CSC"
shorten_department("Software Engineering") # "SOE"
shorten_faculty("College of Medicine") # "COM"
shorten_faculty("School of Physical Sciences") # "SPS"
format_name("John") # "John"
format_name("John Doe") # "John Doe"
format_name("John Michael Doe") # "John Michael D."
format_name("John Michael Doe Extra") # "John Michael D."
mask_reg_number("F/HD/22/0012345") # "F***********345"
mask_reg_number("F/HD/22/0012345", "#") # "F###########345"
Validation / type guards
from futo_departments import is_valid_department, is_valid_faculty
is_valid_department("Software Engineering") # True
is_valid_department("Data Science") # False
is_valid_faculty("College of Medicine") # True
is_valid_faculty("School of Medicine") # False
Running tests
pip install -r requirements-dev.txt
pytest
Tests cover data integrity (no duplicates, no orphan departments), helper functions, edge cases, and validation behavior. See tests/ folder for full suite.
Publishing to npm
- Set
"author"inpackage.json npm run buildnpm loginnpm publish
For a scoped package (e.g. @yourname/futo-departments), update the "name" field and run:
npm publish --access public
License
MIT
Project details
Release history Release notifications | RSS feed
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 futo_departments-1.0.0.tar.gz.
File metadata
- Download URL: futo_departments-1.0.0.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf47033f2aea00376641dfd3f9829585620cc2b92e03d92c3da66c6b515e0a7d
|
|
| MD5 |
f7cfa7eb8ca5da02086ef0cf8c8b58d2
|
|
| BLAKE2b-256 |
73a8cda2d72af6085c57cbd1c5251f9df39f2cf2e9224f30f855731fdaeea63c
|
File details
Details for the file futo_departments-1.0.0-py3-none-any.whl.
File metadata
- Download URL: futo_departments-1.0.0-py3-none-any.whl
- Upload date:
- Size: 6.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ebde176b1ad357fb9b893730f26d93bae9acc8210c787b53bea86b8e840fea6
|
|
| MD5 |
517acfb4f2780f87ffcf361359d8beff
|
|
| BLAKE2b-256 |
138544405d624b54b0921ad2b06a7904bded91f0f9de9c175dca59b767d43901
|