# SmoothGlue Django Core
# Overview
SmoothGlue Django Core provides a robust foundation for creating extendable and secure application features, optimized for highly regulated environments. This project includes reusable Django apps designed to streamline development for applications requiring stringent security and compliance measures.
## Key Features
- **Abstract Models:** Includes abstract models like `AuditModel` and `TimeAuditModel` for audit trail functionality in your models.
- **Reusable Serializers:** A set of base serializers for consistent API development.
- **Custom User Model:** Extensible user model adaptable to various authentication requirements.
- **Environment-specific Configuration:** Designed for easy configuration in different environments (development, staging, production).
## Installation
### Prerequisites
* Python 3.12+
* Django 4.2+
* Django REST Framework 3.15.2+
### Install SmoothGlue Django Core From PyPI (Official Use)
1. Use pip and the following command inside the Django project:
```python
pip install smoothglue_django_core
```
2. Enable Smoothglue Django Core's apps in your settings.py:
```bash
INSTALLED_APPS = [
# ... other installed apps ...
'smoothglue.core',
'smoothglue.authentication',
'smoothglue.tracker',
# ... other installed apps ...
]
```
3. **Database Migrations:**
Run the migrations to create the necessary database tables:
```bash
python manage.py migrate
```
4. Run the development server to confirm the project continues to work.
## API Usage
This package exposes several API endpoints to manage users, organizations, and other related data.
### Authentication
This package uses JWT-based authentication. The JWT is decoded from the Authorization or Jwt header of the request. In a development environment, ENABLE_SINGLE_USER_MODE can be set to `True` to bypass JWT authentication and use a default "UnknownUser".
### Endpoints
#### Users
- `GET /users/`: Retrieves a list of all users.
- `POST /users/`: Creates a new user.
- `GET /users/{id}/`: Retrieves a specific user by their ID.
- `PUT /users/{id}/`: Updates a specific user.
- `PATCH /users/{id}/`: Partially updates a user.
- `DELETE /users/{id}/`: Deletes a user.
#### Organizations
- `GET /organizations/`: Retrieves a list of all organizations.
- `POST /organizations/`: Creates a new organization.
- `GET /organizations/{id}/`: Retrieves a specific organization by its ID.
- `PUT /organizations/{id}/`: Updates an organization.
- `PATCH /organizations/{id}/`: Partially updates an organization.
- `DELETE /organizations/{id}/`: Deletes an organization.
#### Organization Members
- `GET /org-members/`: Retrieves a list of all organization members.
#### Organization Categories
- `GET /org-categories/`: Retrieves a list of all organization categories.
- `POST /org-categories/`: Creates a new organization category.
- `GET /org-categories/{id}/`: Retrieves a specific organization category by its ID.
- `PUT /org-categories/{id}/`: Updates an organization category.
- `PATCH /org-categories/{id}/`: Partially updates an organization category.
- `DELETE /org-categories/{id}/`: Deletes an organization category.
#### Active User
- `GET /active_user/`: Retrieves the currently authenticated user's information.
## License
This project is licensed under a Proprietary License. See the [LICENSE](./LICENSE) file for more details.
Raw data
{
"_id": null,
"home_page": "https://braingu.com/solutions/smoothglue/",
"name": "smoothglue_django_core",
"maintainer": "BrainGu",
"docs_url": null,
"requires_python": "<4.0,>=3.12",
"maintainer_email": "info@braingu.com",
"keywords": "Interoperability, API Integration, Edge Computing, Application Framework, Data-Driven Development",
"author": "BrainGu",
"author_email": "smoothglue@braingu.com",
"download_url": "https://files.pythonhosted.org/packages/28/90/41080fd5505790afee1151d771de69ee8b8b870426449580d3778857d6ab/smoothglue_django_core-1.3.1.tar.gz",
"platform": null,
"description": "# SmoothGlue Django Core\n\n# Overview\n\nSmoothGlue Django Core provides a robust foundation for creating extendable and secure application features, optimized for highly regulated environments. This project includes reusable Django apps designed to streamline development for applications requiring stringent security and compliance measures.\n\n## Key Features\n\n- **Abstract Models:** Includes abstract models like `AuditModel` and `TimeAuditModel` for audit trail functionality in your models.\n- **Reusable Serializers:** A set of base serializers for consistent API development.\n- **Custom User Model:** Extensible user model adaptable to various authentication requirements.\n- **Environment-specific Configuration:** Designed for easy configuration in different environments (development, staging, production).\n\n## Installation\n\n### Prerequisites\n\n* Python 3.12+\n* Django 4.2+\n* Django REST Framework 3.15.2+\n\n\n### Install SmoothGlue Django Core From PyPI (Official Use)\n\n1. Use pip and the following command inside the Django project:\n\n ```python\n pip install smoothglue_django_core\n ```\n\n2. Enable Smoothglue Django Core's apps in your settings.py:\n\n\n\n```bash\nINSTALLED_APPS = [\n # ... other installed apps ...\n 'smoothglue.core',\n 'smoothglue.authentication',\n 'smoothglue.tracker',\n # ... other installed apps ...\n]\n```\n\n3. **Database Migrations:**\n\nRun the migrations to create the necessary database tables:\n\n```bash\npython manage.py migrate\n```\n\n4. Run the development server to confirm the project continues to work.\n\n## API Usage\n\nThis package exposes several API endpoints to manage users, organizations, and other related data.\n\n### Authentication\nThis package uses JWT-based authentication. The JWT is decoded from the Authorization or Jwt header of the request. In a development environment, ENABLE_SINGLE_USER_MODE can be set to `True` to bypass JWT authentication and use a default \"UnknownUser\".\n\n### Endpoints\n\n#### Users\n- `GET /users/`: Retrieves a list of all users.\n\n- `POST /users/`: Creates a new user.\n\n- `GET /users/{id}/`: Retrieves a specific user by their ID.\n\n- `PUT /users/{id}/`: Updates a specific user.\n\n- `PATCH /users/{id}/`: Partially updates a user.\n\n- `DELETE /users/{id}/`: Deletes a user.\n\n#### Organizations\n\n- `GET /organizations/`: Retrieves a list of all organizations.\n\n- `POST /organizations/`: Creates a new organization.\n\n- `GET /organizations/{id}/`: Retrieves a specific organization by its ID.\n\n- `PUT /organizations/{id}/`: Updates an organization.\n\n- `PATCH /organizations/{id}/`: Partially updates an organization.\n\n- `DELETE /organizations/{id}/`: Deletes an organization.\n\n#### Organization Members\n\n- `GET /org-members/`: Retrieves a list of all organization members.\n\n#### Organization Categories\n\n- `GET /org-categories/`: Retrieves a list of all organization categories.\n\n- `POST /org-categories/`: Creates a new organization category.\n\n- `GET /org-categories/{id}/`: Retrieves a specific organization category by its ID.\n\n- `PUT /org-categories/{id}/`: Updates an organization category.\n\n- `PATCH /org-categories/{id}/`: Partially updates an organization category.\n\n- `DELETE /org-categories/{id}/`: Deletes an organization category.\n\n#### Active User\n\n- `GET /active_user/`: Retrieves the currently authenticated user's information.\n\n## License\n\nThis project is licensed under a Proprietary License. See the [LICENSE](./LICENSE) file for more details.\n",
"bugtrack_url": null,
"license": "Proprietary",
"summary": "Enhance your development with SmoothGlue\u2122, providing a user-friendly gateway to interoperable microservices for effortlessly creating complex app behaviors.",
"version": "1.3.1",
"project_urls": {
"Homepage": "https://braingu.com/solutions/smoothglue/",
"Issues": "https://braingu.com/support"
},
"split_keywords": [
"interoperability",
" api integration",
" edge computing",
" application framework",
" data-driven development"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1fa4598c56464e09480574efa49ded4ad3ae3dc658e7f03b27bcb81b4208fe5f",
"md5": "dc0bbb697b50158ae1495eec72e24658",
"sha256": "9effc5bea50fafe792480800986fcb6b48c0cfdddfb8798595aa629807936ff8"
},
"downloads": -1,
"filename": "smoothglue_django_core-1.3.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "dc0bbb697b50158ae1495eec72e24658",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.12",
"size": 80055,
"upload_time": "2025-08-29T12:32:08",
"upload_time_iso_8601": "2025-08-29T12:32:08.643458Z",
"url": "https://files.pythonhosted.org/packages/1f/a4/598c56464e09480574efa49ded4ad3ae3dc658e7f03b27bcb81b4208fe5f/smoothglue_django_core-1.3.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "289041080fd5505790afee1151d771de69ee8b8b870426449580d3778857d6ab",
"md5": "b62c75fa36845209e363d45299998f3b",
"sha256": "24d1159c065ee7c627ec6e282021e5c0746d3a24fc3da1b9aa32e93fc75398db"
},
"downloads": -1,
"filename": "smoothglue_django_core-1.3.1.tar.gz",
"has_sig": false,
"md5_digest": "b62c75fa36845209e363d45299998f3b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.12",
"size": 51998,
"upload_time": "2025-08-29T12:32:09",
"upload_time_iso_8601": "2025-08-29T12:32:09.599882Z",
"url": "https://files.pythonhosted.org/packages/28/90/41080fd5505790afee1151d771de69ee8b8b870426449580d3778857d6ab/smoothglue_django_core-1.3.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-29 12:32:09",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "smoothglue_django_core"
}