Metadata-Version: 2.5
Name: university-institution
Version: 0.1.1
Summary: University Institution: institutions, campuses, academic structure and verified memberships for the University platform.
Project-URL: Homepage, https://github.com/NzeStan/University
Project-URL: Documentation, https://github.com/NzeStan/University/blob/main/docs/modules/institution.md
Project-URL: Source, https://github.com/NzeStan/University
Project-URL: Changelog, https://github.com/NzeStan/University/blob/main/CHANGELOG.md
Author-email: Ifeanyi Stanley <nnamaniifeanyi10@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: africa,campus,django,drf,institution,membership,university
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: Django
Classifier: Framework :: Django :: 5.2
Classifier: Framework :: Django :: 6.0
Classifier: Framework :: Django :: 6.1
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: university-core<0.2,>=0.1
Provides-Extra: test
Requires-Dist: drf-spectacular>=0.27; extra == 'test'
Requires-Dist: pytest-cov>=5; extra == 'test'
Requires-Dist: pytest-django>=4.8; extra == 'test'
Requires-Dist: pytest>=8; extra == 'test'
Description-Content-Type: text/markdown

# university-institution

Institutions, campuses, academic structure and **verified memberships** for the
[University platform](https://github.com/NzeStan/University). This is an optional
*level two* module that depends only on `university-core`.

- Configurable institution types (university, polytechnic, college of education, monotechnic …),
  with no hard-coded institutions or countries.
- Institutions are tenant and permission scopes; campuses resolve to their institution.
- A flexible academic tree (college / faculty / school / department / …), programmes, levels,
  sessions and semesters.
- Multi-institution memberships with configurable roles and a full lifecycle.
- **Pluggable verification**: institutional email + OTP, student/staff number review (stored only
  as keyed hashes), document review (private storage, automatic deletion) and manual review.
  You can add your own provider.
- Scoped administrator and verifier roles, audited decisions, events, data export and purge hooks,
  and an idempotent JSON/CSV importer.

```bash
pip install university-institution
```

```python
INSTALLED_APPS = [..., *CORE_APPS, "university.institution"]
```

```bash
python manage.py migrate
python manage.py university_import_institutions institutions.json
```

The API mounts automatically under `/api/v1/`. Full guide:
https://github.com/NzeStan/University/blob/main/docs/modules/institution.md
