Metadata-Version: 2.1
Name: ai-django-core
Version: 5.11.0
Summary: Ambient toolbox - Lots of helper functions and useful widgets
Author-email: "Ambient Innovation: GmbH" <hello@ambient-innovation.com>
Description-Content-Type: text/markdown
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 2.2
Classifier: Framework :: Django :: 3.1
Classifier: Framework :: Django :: 3.2
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Utilities
Requires-Dist: Django>=2.2.24,<4.0.0
Requires-Dist: bleach>=1.4.3
Requires-Dist: python-dateutil>=2.5.3
Requires-Dist: html2text>=2020.1.16
Requires-Dist: freezegun ; extra == "dev"
Requires-Dist: pytest-cov ; extra == "dev"
Requires-Dist: pytest-django ; extra == "dev"
Requires-Dist: pytest-mock ; extra == "dev"
Requires-Dist: gevent ; extra == "dev"
Requires-Dist: sphinx==4.2.0 ; extra == "docs"
Requires-Dist: sphinx-rtd-theme==1.0.0 ; extra == "docs"
Requires-Dist: m2r2==0.3.1 ; extra == "docs"
Requires-Dist: mistune<2.0.0 ; extra == "docs"
Requires-Dist: djangorestframework>=3.8.2 ; extra == "drf"
Requires-Dist: graphene-django>=2.2.0 ; extra == "graphql"
Requires-Dist: django-graphql-jwt>=0.2.1 ; extra == "graphql"
Requires-Dist: django-crispy-forms>=1.4.0 ; extra == "view-layer"
Project-URL: Bugtracker, https://github.com/ambient-innovation/ai-django-core/issues
Project-URL: Changelog, https://ai-django-core.readthedocs.io/en/latest/features/changelog.html
Project-URL: Documentation, https://ai-django-core.readthedocs.io/en/latest/index.html
Project-URL: Maintained by, https://ambient.digital/
Provides-Extra: dev
Provides-Extra: docs
Provides-Extra: drf
Provides-Extra: graphql
Provides-Extra: view-layer

[![pypi](https://img.shields.io/pypi/v/ai-django-core.svg)](https://pypi.python.org/pypi/ai-django-core/)
[![Downloads](https://pepy.tech/badge/ai-django-core)](https://pepy.tech/project/ai-django-core)
[![Documentation Status](https://readthedocs.org/projects/ai-django-core/badge/?version=latest)](https://ai-django-core.readthedocs.io/en/latest/?badge=latest)

# Overview

This package contains various useful helper functions. You can read up on all the fancy things at
[readthedocs.io](https://ai-django-core.readthedocs.io/en/latest/index.html).

# Installation

- Install the package via pip:

  `pip install ai-django-core`

  or via pipenv:

  `pipenv install ai-django-core`

- Add module to `INSTALLED_APPS` within the main django `settings.py`:

    ````
    INSTALLED_APPS = (
        ...
        'ai_django_core',
    )
     ````

# Contribute

## Add functionality

- Clone the project locally
- Create a new branch for your feature
- Change the dependency in your requirements.txt to a local (editable) one that points to your local file system:
  `-e /Users/workspace/ai-django-core` or via pip  `pip install -e /Users/workspace/ai-django-core`
- Ensure the code passes the tests
- Create a pull request

## Run tests

- Check coverage
  ````
  pytest --cov=.
  ````

- Run tests
  ````
  pytest
  ````

## Update documentation

- To generate new auto-docs for new modules run: `sphinx-apidoc -o ./docs/modules/ ./ai_django_core/` (in the current
  set up an auto doc for the anti-virus module is not supported due to installation and import problems. Since it might
  be removed in the future, that should be fine for now).
- To build the documentation run: `sphinx-build docs/ docs/_build/html/` or go into the **docs** folder and
  run: `make html`. Open `docs/_build/html/index.html` to see the documentation.

## Translation files

How to create translation file:

* Navigate to `ai_django_core/ai_django_core` (the inner directory!)
* `django-admin makemessages -l de`
* Have a look at the new/changed files within `ai_django_core/ai_django_core/locale`

How to compile translation files:

* Navigate to `ai_django_core/ai_django_core` (the inner directory!)
* `django-admin compilemessages`
* Have a look at the new/changed files within `ai_django_core/ai_django_core/locale`

## Publish to ReadTheDocs.io

- Fetch the latest changes in github mirror and push them
- Trigger new build at ReadTheDocs.io (follow instructions in admin panel at RTD)

## Publish to PyPi

- Update documentation about new/changed functionality

- Update the `Changelog`

- Increment version in main `__init__.py`

- Create pull request / merge to master

- This project uses the flit package to publish to PyPI. Thus publishing should be as easy as running:
  ```
  flit publish
  ```

  To publish to TestPyPI use the following ensure that you have set up your .pypirc as
  shown [here](https://flit.readthedocs.io/en/latest/upload.html#using-pypirc) and use the following command:

  ```
  flit publish --repository testpypi
  ```

