Metadata-Version: 2.4
Name: scholarmis-framework
Version: 1.0.2
Summary: Modular framework for building Student Management Systems with Django.
Project-URL: Homepage, https://github.com/scholarmis/scholarmis-framework
Project-URL: Documentation, https://github.com/scholarmis/scholarmis-framework#readme
Project-URL: Source, https://github.com/scholarmis/scholarmis-framework
Project-URL: Issues, https://github.com/scholarmis/scholarmis-framework/issues
Author-email: Brian Simpokolwe <briansimpokolwe@gmail.com>
License: MIT
License-File: LICENSE
Keywords: django,framework,multi-tenant,scholarmis,student-management-system
Classifier: Development Status :: 5 - Production/Stable
Classifier: Framework :: Django
Classifier: Framework :: Django :: 5
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Education
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Requires-Python: >=3.10
Requires-Dist: asgiref>=3.8
Requires-Dist: django-filter>=24.0
Requires-Dist: django-model-utils>=4.5
Requires-Dist: django<6.0,>=5.0
Requires-Dist: djangorestframework>=3.15
Requires-Dist: python-slugify>=8.0
Requires-Dist: semver>=3.0
Provides-Extra: async
Requires-Dist: channels-redis>=4.2; extra == 'async'
Requires-Dist: channels>=4.1; extra == 'async'
Provides-Extra: data
Requires-Dist: django-import-export>=4.2; extra == 'data'
Requires-Dist: openpyxl>=3.1; extra == 'data'
Requires-Dist: tablib[all]>=3.7; extra == 'data'
Provides-Extra: dev
Requires-Dist: black; extra == 'dev'
Requires-Dist: coverage; extra == 'dev'
Requires-Dist: isort; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-django; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Provides-Extra: full
Requires-Dist: celery>=5.4; extra == 'full'
Requires-Dist: channels-redis>=4.2; extra == 'full'
Requires-Dist: channels>=4.1; extra == 'full'
Requires-Dist: django-import-export>=4.2; extra == 'full'
Requires-Dist: django-notifications-hq>=1.8; extra == 'full'
Requires-Dist: django-renderpdf>=4.0; extra == 'full'
Requires-Dist: django-tenants>=3.7; extra == 'full'
Requires-Dist: openpyxl>=3.1; extra == 'full'
Requires-Dist: premailer>=3.10; extra == 'full'
Requires-Dist: psycopg[binary]>=3.1; extra == 'full'
Requires-Dist: tablib[all]>=3.7; extra == 'full'
Provides-Extra: notifications
Requires-Dist: django-notifications-hq>=1.8; extra == 'notifications'
Requires-Dist: premailer>=3.10; extra == 'notifications'
Provides-Extra: postgres
Requires-Dist: psycopg[binary]>=3.1; extra == 'postgres'
Provides-Extra: reports
Requires-Dist: django-renderpdf>=4.0; extra == 'reports'
Provides-Extra: tasks
Requires-Dist: celery>=5.4; extra == 'tasks'
Provides-Extra: tenancy
Requires-Dist: django-tenants>=3.7; extra == 'tenancy'
Description-Content-Type: text/markdown

# Scholarmis Framework

**Scholarmis Framework** is the **core Python/Django package** for Scholarmis, providing **shared utilities, base classes, and common components** used across all modules of the Scholarmis ecosystem.

It is designed to **reduce code duplication**, enforce **consistent patterns**, and serve as the foundation for modular educational management apps.

---


## Installation

```bash
pip install scholarmis-framework
```

---

## Usage

Once installed, you can import and use the shared components in any module:

```python
from scholarmis.framework.db.models import BaseModel
```

* **BaseModel** – A reusable abstract Django model with common fields.
* **CLI** – Reuse core commands in module management scripts.

> The framework does not run standalone; it is meant to be imported by Scholarmis modules.

---

## Contributing

We welcome contributions!

1. Fork the repository
2. Create a feature branch
3. Submit a pull request

See [CONTRIBUTING.md](CONTRIBUTING.md) for more details.

---

## License

Scholarmis Framework is licensed under the **MIT License** – see [LICENSE](LICENSE).

---
